С вашего live CD попробуйте войти в систему как root, чтобы скопировать данные. Или используйте su/sudo su в окне терминала.
В моем случае эта проблема возникла из-за того, что другой пользователь изменил расположение AuthorizedKeysFile
. Поскольку для других пользователей в этом месте не было authorized_keys
, по умолчанию для входа будет использоваться пароль, даже если authorized_keys
существуют с правильными разрешениями в домашнем каталоге по умолчанию.
AuthorizedKeysFile /etc/ssh/%u/authorized_keys
Прокомментировал эту измененную строку и перезапустил службу sshd, чтобы вернуться к настройкам по умолчанию, что затем позволило другим пользователям аутентифицироваться с использованием своих ключей.
Я попробовал ответ Джакудже. Не повезло. Но я понимаю проблему оттуда. Пытался добавить комментарий, но нужна репутация, поэтому добавляю anwser.
А вот файл конфигурации у меня /etc/ssh/ssh_config
sudo nano /etc/ssh/ssh_config
PubkeyAcceptedKeyTypes +ssh-dss
Добавил эту строчку внизу. Сработало!
dsaу меня не работает. rsaсделал.
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat /Users/user_name/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
И я могу ssh без пароля.
Подводя итог тому, что я сделал, чтобы подключиться по SSH к raspberry Pi .
На сервере (Raspberry Pi):
$ ip addr show
или просто ip a
, это отобразит IP-адрес машины Pi -host _ip
$ mkdir.ssh
На клиентской машине (Ubuntu):
$ ssh-keygen -t rsa
Кредит @Jakuje выше. Первоначально я использовал ssh -keygen -t dsa для генерации ключа, и ssh продолжал запрашивать пароль. ssh -v ip -адрес не дает мне много полезной информации, пока я не увидел ответ @Jakuje
$ cat.ssh/id_rsa.pub | ssh user_id@host_ip 'cat >> ~/.ssh/authorized_keys'
замените идентификатор пользователя _и IP-адрес хоста _, при появлении запроса укажите пароль для машины Pi
$ ssh user@ip_address
успешный вход в PI, пароля больше нет