Это работало нормально, но не уверен, внезапно перестал работать.
Я добавил свой ключ id_rsa.pub для localhost в авторизованные ключи папки .ssh на сервере. Когда я пытаюсь войти на сервер (работающий с Ubuntu 12.10) из localhsot с помощью
ssh account@ip
, он запрашивает пароль. Я не уверен, что я делаю неправильно, поскольку это выглядит довольно простым процессом, и раньше он работал нормально. Любая помощь ?
Могло быть любое количество проблем от неправильных полномочий до зашифрованного корневого каталога.
В целом, ssh-copy-id
лучший метод для передачи ключей, поскольку он автоматизирует процесс.
ssh-copy-id -i key_name user@server
Видят http://bodhizazen.com/Tutorials/SSH_keys#Transfer для деталей
, Если Вы используете зашифрованный корневой каталог, однако, необходимо настроить ssh сервер для поиска ключей в альтернативном местоположении. В таком случае Вы редактируете/etc/ssh/sshd_config и редактируете местоположение файла ключей. Если бы
, Если все, что перестало работать, отправите вывод
ssh -vvv user@server
, то-vvv опция покажет подробные сообщения об ошибках.
У меня была та же проблема. В моей среде у меня было две учетных записи (acct1 и acct2), я настроил свои ключи ssh acct1, и это работало правильно.
Затем я скопировал .ssh каталог от acct1 до acct2 и попробовал его там, но он не работал как ожидалось, попросил у меня пароля...
Причина была: владение файлов в .ssh каталоге. acct2 пользователь не был владельцем тех файлов.
-rw------- 1 root root 408 Aug 10 16:53 id_rsa.pub
-rw------- 1 **root** **root** 1675 Aug 10 16:53 id_rsa
-rw-r--r-- 1 acct2 acct2 444 Aug 10 16:54 known_hosts
Таким образом, я просто изменил владение файлов acct2 пользователю.
sudo chown acct2:acct2
Теперь это похоже ниже, и это работает правильно.
-rw------- 1 acct2 acct2 408 Aug 10 16:53 id_rsa.pub
-rw------- 1 **acct2** **acct2** 1675 Aug 10 16:53 id_rsa
-rw-r--r-- 1 acct2 acct2 444 Aug 10 16:54 known_hosts