на обоих серверах:
rm -r ~/.ssh
на сервере server1:
ssh-keygen
ssh bob@server2
как server2 знает, что он должен принять новый ключ, который вы только что сделали? Это не так. После создания ключа с ssh-keygen, вы должны скопировать его на server2 в ~/.файл ssh / authorized_keys.
я даже пытался поместить содержимое id_rsa сервера server1.pub в authorized_keys на server2
да, это в основном требуются.
Хорошо, давайте заставим его использовать пароль:
mv ~/.ssh ~/oldssh
ssh bob@server2
сообщение об ошибке указывает, какие механизмы сервер предложил вам. В данном случае, потому что это только предложения publickey
проверка подлинности клиентов не может заставить его пароль или любым другим способом.
использовать authentenableication пароль, вы должны сначала разрешить оно в сервере /etc/ssh/sshd_config
(используя параметры PasswordAuthentication и ChallengeResponseAuthentication).
после того, как это будет сделано, вы даже можете использовать ssh -o PreferredAuthentications=password bob@server2
предпочесть конкретный механизм. Таким образом, вам не нужно будет временно перемещать ключи или перемещать их обратно.
это преследовало меня в течение многих лет.
похоже, пришло время проверить системные журналы server2. Служба SSH может рассказать почему он отвергает или игнорирует ваши ключи. Вам понадобится опция sshd_config LogLevel DEBUG
, чтобы получить максимальную информацию из него.
все сообщения журнала sshd переходят в журнал безопасности, обычно /var/log/auth.log
или /var/log/security
или хотя бы journalctl -b
если используется systemd.
наиболее распространенной причиной является то, что" сломанный "сервер отказывается читать ваш authorized_keys файл из-за" слишком открытых " разрешений файла. Например, если ~/.ssh / is мировой записи или даже принадлежит пользователю diffrent, это считается проблемой безопасности и вызывает sshd игнорировать файл. На Linux используйте namei -l ~/.ssh/authorized_keys
чтобы проверить это.
просмотрите также весь файл sshd_config. Это могло бы быть настроено для поиска authorized_keys в совершенно другом, нестандартном местоположении.