Почему SSH каждый раз запрашивает пароль от моего личного ключа
9
Со вчерашнего дня каждый раз, когда я пытаюсь подключиться к серверу ssh, меня спрашивают мой пароль. Что я должен сделать, чтобы SSH не запрашивал мой пароль каждый раз.
Слепое предположение от меня: проверьте, что ваш ключ загружен ssh-add -l.
jw013
Я полагаю, вы используете ключи SSH? Если вы не используете менеджер ключей и у вас есть непустая фраза-пароль, это нормально. Либо используйте менеджер ключей, либо создайте пустую фразу-пароль для своего ключа. Я думаю, что первое рекомендуется.
если это «со вчерашнего дня», возможно, вы просто обновили свою систему, и теперь ssh-agent больше не работает.
Корен
Ответы:
5
Вставьте свой открытый ключ hostnachine:~/.ssh/authorized_keysи убедитесь, что он имеет соответствующие разрешения - chmod 600. Для получения дополнительной информации см. Справочную страницу, раздел АУТЕНТИФИКАЦИЯ. Обратите внимание, что sshd может быть настроен так, чтобы запретить этот метод входа, хотя я не могу понять, почему.
Спасибо, что сработало. Однако не могли бы вы объяснить мне, почему я должен поместить его в 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+ раз в день !! Спасибо!
ssh-add -l
.Ответы:
Вставьте свой открытый ключ
hostnachine:~/.ssh/authorized_keys
и убедитесь, что он имеет соответствующие разрешения - chmod 600. Для получения дополнительной информации см. Справочную страницу, раздел АУТЕНТИФИКАЦИЯ. Обратите внимание, что sshd может быть настроен так, чтобы запретить этот метод входа, хотя я не могу понять, почему.источник
Проверьте права доступа к каталогу и файлам.
$HOME
не может быть доступно для записи группой или другим.$HOME/.ssh
должны иметь700
разрешения, недоступные для чтения, записи или выполнения группой и другими.$HOME/.ssh/authorized_keys
не быть доступным для записи или исполнения кем-либо.Если вы обнаружите, что разрешения недостаточно строгие, попробуйте выяснить, что вызвало проблему. В прошлый раз, когда это случилось со мной, я скомпилировал PHP с нуля. Выполнение в
make install
качестве корневого (Slackware) изменил права доступа и права собственности/
или/home
как я помню, и держал SSH от работы сauthorized_keys
иid_rsa.pub
файлы , которые были на месте и работают в течение веков. Вы хотите определить причину проблемы, поскольку изменение владельца каталога и / или разрешения может произойти из-за установки руткита или чего-то подобного.источник