Почему SSH каждый раз запрашивает пароль от моего личного ключа

9

Со вчерашнего дня каждый раз, когда я пытаюсь подключиться к серверу ssh, меня спрашивают мой пароль. Что я должен сделать, чтобы SSH не запрашивал мой пароль каждый раз.

Бен Д
источник
Слепое предположение от меня: проверьте, что ваш ключ загружен ssh-add -l.
jw013
Я полагаю, вы используете ключи SSH? Если вы не используете менеджер ключей и у вас есть непустая фраза-пароль, это нормально. Либо используйте менеджер ключей, либо создайте пустую фразу-пароль для своего ключа. Я думаю, что первое рекомендуется.
если это «со вчерашнего дня», возможно, вы просто обновили свою систему, и теперь ssh-agent больше не работает.
Корен

Ответы:

5

Вставьте свой открытый ключ hostnachine:~/.ssh/authorized_keysи убедитесь, что он имеет соответствующие разрешения - chmod 600. Для получения дополнительной информации см. Справочную страницу, раздел АУТЕНТИФИКАЦИЯ. Обратите внимание, что sshd может быть настроен так, чтобы запретить этот метод входа, хотя я не могу понять, почему.

Сардатрион - против злоупотребления SE
источник
Спасибо, что сработало. Однако не могли бы вы объяснить мне, почему я должен поместить его в authorized_keys и почему он работал без него раньше?
Бен Д
1
Страница man содержит информацию в разделе АУТЕНТИФИКАЦИЯ. Относительно того, почему это работало раньше, я не могу быть уверен, не имея root-доступа к вашим машинам и не выполняя какую-либо экспертизу.
Сардатрион - против злоупотребления SE
2
Вы также можете использовать ssh-copy-id для автоматического копирования вашего открытого ключа на целевой хост, если вы не хотите / не хотите копировать его вручную.
Корен
2

Проверьте права доступа к каталогу и файлам.

$HOME не может быть доступно для записи группой или другим.

$HOME/.sshдолжны иметь 700разрешения, недоступные для чтения, записи или выполнения группой и другими.

$HOME/.ssh/authorized_keys не быть доступным для записи или исполнения кем-либо.

Если вы обнаружите, что разрешения недостаточно строгие, попробуйте выяснить, что вызвало проблему. В прошлый раз, когда это случилось со мной, я скомпилировал PHP с нуля. Выполнение в make installкачестве корневого (Slackware) изменил права доступа и права собственности /или /homeкак я помню, и держал SSH от работы с authorized_keysи id_rsa.pubфайлы , которые были на месте и работают в течение веков. Вы хотите определить причину проблемы, поскольку изменение владельца каталога и / или разрешения может произойти из-за установки руткита или чего-то подобного.

Брюс Эдигер
источник
Это исправило это для меня .. После исправления моих разрешений, я добавил его, используя 'ssh-add' .. После закрытия этого терминала и повторного открытия его и выполнения 'ssh-add -l' (нижний L) я мог видеть свою личность , который работал .. Я мог использовать SSH для всех своих ящиков без необходимости набирать свой закрытый ключ 300+ раз в день !! Спасибо!
Генри ван Меген