У меня есть пара открытый / закрытый ключ. Ни с одним из них не связана какая-либо парольная фраза.
Всякий раз, когда я пытаюсь использовать ssh с использованием частного или открытого (и я почти уверен, что должен использовать только открытый ключ), меня запрашивают ключевую фразу, и, конечно, я не могу подключиться.
У кого-нибудь есть идеи, как обойти это? Неправильно ли я набираю какую-то команду? Я пытаюсь подключиться к серверу ssh, который я настроил в моем файле ~ / .ssh / config (правильно, поскольку точно такая же установка работает на другом сервере) с ключом, хранящимся в ~ / .ec2 / key.ppk
Я также попытался с помощью puttygen.exe создать новый закрытый ключ С парольной фразой, а затем с помощью этого ключа, и когда я набираю парольную фразу, он все равно не работает.
ssh-rsa AAAAB3NzaC1y...... etc
формат от openssh, верно? У меня есть этот формат в моем личном ключе. Заголовок гласит:PuTTY-User-Key-File-2: ssh-rsa Encryption: none Comment: imported-openssh-key Public-Lines: 6
Но файл хранится как файл id_rsa. Означает ли это, что это все еще в формате .ppk, хотя имя файла простоid_rsa
.ppk
, оно все еще было в формате замазки, что меня смутило, так как показывало все виды ошибок, но не давало мне прямого намека на то, что проблема была с форматом ключа. : stackoverflow.com/a/44391850/4752883Вы можете запустить ssh-agent. Смотрите здесь для обсуждения.
Короткая версия, которая работала для меня (в bash):
Я взял три строки, которые повторяются, и выполнил их. Другой способ сделать это - взять вывод -s:
Затем я добавил свои учетные данные:
Теперь агент предоставляет учетные данные вместо того, чтобы мне приходилось вводить мою фразу-пароль.
Я полагаю, что ssh-agent уходит, когда оболочка закрывается, поэтому это должно быть записано в сценарии при запуске для максимального удобства. Ссылка я делил описывает сценарии , а также.
источник
Когда вы устанавливаете свой открытый ключ, вы, вероятно, (возможно, непреднамеренно) устанавливаете его с помощью ключевой фразы.
Возможно, вам нужно начать все заново - я не использовал puttygen, но вы можете удалить (или переименовать) открытый ключ в вашем каталоге .ssh, использовать
ssh-keygen
для создания нового (убедитесь, что вы не предоставили ключевую фразу), а затем отправьте public_key в файл author_keys на сервере, к которому вы пытаетесь подключиться.Вам также может понадобиться удалить старый пароль-пароль из файла авторизованных ключей на сервере, к которому вы подключаетесь.
источник
Убедитесь, что закрытый ключ
id_rsa
не имеет дополнительных разрывов строк в конце, в некоторых случаях дополнительные разрывы строк заставят ssh-keygen запросить фразу-пароль, попробуйте это:тест:
источник
-----END RSA PRIVATE KEY-----
как он заставлял его запрашивать фразу-пароль для ключа, у которого не было ни одного набора!Одна вещь, которую нужно проверить: если ваш файл sshd_config имеет StrictModes = yes, то каталог $ HOME или каталог $ HOME / .ssh не должны быть доступны для записи всем группам или другим файлам. В противном случае проверка подлинности не будет выполнена ни на что.
источник
Я сделал ошибку, случайно перезаписав файл ~ / .ssh / id_rsa файлом ~ / .ssh / id_rsa.pub. Это заставит ssh запросить парольную фразу.
источник
Я столкнулся с этой проблемой на днях. В частности, я пытался скопировать / вставить закрытый ключ AWS с одного компьютера на другой.
У меня плохая привычка пропустить первый или последний персонаж. Оказывается, что если вы не захватываете каждый дефис в конце своего закрытого ключа - даже если он не имеет никакого отношения к самому тексту ключа - вам будет предложено ввести ключевую фразу для закрытого ключа, пока не будет добавлен каждый символ из ключ, с которого вы скопировали (в моем случае это означало добавление одного дефиса к концу ключа.)
Я предполагаю, что это означает, что рекомендуется использовать SSH текстовый файл по проводам, а не пытаться копировать и вставлять между окнами терминала.
источник
На OSX я смог просто запустить:
$ ssh-add ~/.ssh/id_rsa Enter passphrase for /Users/me/.ssh/id_rsa: `Identity added: /Users/mikekilmer/.ssh/id_rsa (/Users/mikekilmer/.ssh/id_rsa)
Пароль был сохранен приложением Keychain Access, которое находится в папке Applications> Utilities. Я только что вошел
id_
в поле поиска.источник
Попробуйте просмотреть файлы журнала на сервере. Посмотрите / var / log / auth log (например, / var / log / authlog для OpenSSH, хотя я видел, что некоторые операционные системы используют Portable OpenSSH и /var/log/auth.log) и проверьте конец этого файла.
Наиболее распространенные причины, которые я видел, - неправильные разрешения (как отмечено в ответе TD1 ), хотя другие проблемы могут быть связаны с тем, что открытый ключ (хранящийся на сервере) не находится в нужном файле, или этот ключ закомментирован, или имя пользователя с ошибкой.
Также может быть полезно (для устранения неполадок) временно назначить учетной записи парольную фразу, просто чтобы убедиться, что учетная запись может успешно войти в систему, когда вы это делаете.
Если просмотр файла журнала не приводит к быстрому решению, я предлагаю опубликовать новый вопрос (поскольку это большой обобщенный вопрос), который включает в себя конкретные детали из файла журнала, чтобы можно было предоставить более конкретные указания.
источник
В моей команде, когда это происходит, это не проблема ни с чем локально. Ключ ssh и / или доступ пользователя не были правильно настроены на сервере, к которому они подключаются (в нашем случае, на платформе хостинга). По какой-то причине это вызывает приглашение для несуществующего ключа ssh.
источник