Как остановить запрос пароля SSH? [закрыто]

10

У меня есть сервер, который я только что открыл. Когда я ssh as nt_deployer, он спрашивает у меня ssh пароль:

Nets-Mac-Pro:mysite emai$ ssh nt_deployer@mysite-staging.nettheory.com
Enter passphrase for key '/Users/emai/.ssh/id_rsa': 
nt_deployer@mysite-staging.nettheory.com's password: 
Welcome to Ubuntu 14.04 LTS (GNU/Linux 3.13.0-29-generic x86_64)

Однако, когда я ssh as emai, он не спрашивает:

Nets-Mac-Pro:mysite emai$ ssh emai@mysite-staging.nettheory.com
emai@mysite-staging.nettheory.com's password: 
Welcome to Ubuntu 14.04 LTS (GNU/Linux 3.13.0-29-generic x86_64)

Может кто-нибудь сказать мне, как я мог бы предотвратить появление запроса пароля nt_deployer?

bigpotato
источник
Я побежал, ssh-keygenи это сработало
bigpotato
Пожалуйста, опубликуйте свое решение и пометьте его как ответ - это остановит ServerFault с «неотвеченными» вопросами, которые не нуждаются в помощи.
TessellatingHeckler
Когда вы бежали ssh-keygen, вы, вероятно, уничтожили предыдущий ключ. Вы знаете, почему у вас даже был один?
Валмики Аркиссандас

Ответы:

4

Эта строка Enter passphrase for key '/Users/emai/.ssh/id_rsa': означает, что ваш ключ защищен паролем, введенным, когда этот ключ генерируется каждый раз, когда вы его используете, он будет запрашивать пароль.

запустив ssh-keygen еще раз без ввода пароля, вы сгенерировали другой ключ. Нет пароля в ключе - нет пароля подсказки :)

Вот цитата из ssh-keygen manpage:

Обычно эта программа генерирует ключ и запрашивает файл для хранения закрытого ключа., Открытый ключ хранится в файле с тем же именем, но с добавлением `.pub '. Программа также запрашивает пароль. Фраза-пароль может быть пустой, чтобы указать отсутствие фразы-пароля (ключи хоста должны иметь пустую фразу-пароль), или это может быть строка произвольной длины. Ключевая фраза похожа на пароль, за исключением того, что это может быть фраза с набором слов, знаков пунктуации, цифр, пробелов или любой строкой символов, которую вы хотите. Хорошие парольные фразы имеют длину 10-30 символов, не являются простыми предложениями или иным образом легко угадываемыми (английская проза содержит только 1-2 бита энтропии на символ и дает очень плохие парольные фразы) и содержит сочетание прописных и строчных букв, цифр и т. Д. и не алфавитно-цифровые символы. Фраза-пароль может быть изменена позже с помощью опции -p.

Нет способа восстановить потерянную фразу-пароль. Если ключевая фраза утеряна или забыта, необходимо сгенерировать новый ключ и скопировать соответствующий открытый ключ на другие машины.

stimur
источник
Я обнаружил, что SSH запросит пароль, если у него возникнут проблемы с чтением закрытого ключа. Я дал ему пустой файл, и он попросил пароль.
Махдуми
1
Это означает, что вам нужно выполнить, ssh -vчтобы увидеть фактическую ошибку, обычно это проблема с разрешениями, так как файл ключа должен иметь 0600разрешения.
стимур
Возможно также, что пользователь не владеет файлом ключа. Это часто происходит при копировании ключей от других пользователей.
Расти Вебер
@stimur 400 должно быть достаточно
030
1
Предупреждение: по крайней мере, у меня OpenSSH_7.6p1 Ubuntu-4ubuntu0.3, OpenSSL 1.0.2n 7 Dec 2017openssh будет запрашивать пароль даже для ключа, у которого нет пароля, если после новой строки нет новой строки -----END OPENSSH PRIVATE KEY----- - просто добавление новой строки после этого заставляет перестать запрашивать ключевую фразу, странные вещи.
hanshenrik
3

Опираясь на ответ стимула, да, ssh запрашивает ключевую фразу ключа. Что означает, что вы используете ключ в первую очередь.

Если это то, что вы хотите - закрытый ключ, защищенный парольной фразой, вы можете использовать ssh-agent чтобы запомнить парольную фразу (или дешифрованный закрытый ключ, я не уверен, какой именно), чтобы вы могли войти без повторного ввода парольной фразы. Вы можете помнить это на неопределенный срок или на определенное время.

man ssh-agentи man ssh-add!

Valmiky Arquissandas
источник
Что делать, если я запускаю ssh-agent, ssh-add и после выполнения команды ssh он все еще запрашивает фразу-пароль? И когда я ввожу кодовую фразу, он даже спрашивает пароль, потому что думает, что, вероятно, пароль неправильный? Если пароль неверен, команда ssh-add также не примет его.
Дариус.В
Дарий: либо пароль неверен, либо у вас есть несколько ключей. Попробуйте ssh -vвариант.
Valmiky Arquissandas
Я попробовал -vvv. После того, как он спрашивает фразу-пароль - он говорит: «Нет, введите фразу-пароль, попробуйте следующий ключ». Но pashprhase - пустая строка, поэтому я просто нажимаю Enter. Затем он пишет «мы не отправляли пакет, отключаем метод» и «пароль authmethod_lookup» и после нескольких сообщений запрашивает пароль. Пробовал вводить '' и вводить, потом пишет - неверный пароль. И у меня есть более одного ключа, один с парольной фразой, другой без пароля. Но я передаю команду ssh -i id_rsa, и она должна знать, что я использую ее без ключевой фразы
Darius.V
@ Darius.V: вы можете явно указать ключ с помощью -i /path/to/keyи проверить подробный вывод ssh, а также проверить права доступа к файлу ключа. Пожалуйста, убедитесь, что вы используете открытый ключ, а не личный.
стимур