Я создал ключ RSA, но SSH продолжает спрашивать пароль
На моем Mac я создал ключ RSA с ssh-keygen -t rsa
и сохранил как .ssh/authorized_keys
на целевом сервере (Ubuntu).
Я положил это в сервер /etc/ssh/sshd_config
:
PubkeyAuthentication yes
RSAAuthentication yes
и перезапустил SSH. Тем не менее, он игнорирует ключ. В чем дело?
3 ответа
Ваш ключ должен идти к .ssh/id_rsa
на Mac, и id_rsa.pub
от Mac должен быть добавлен к .ssh/authorized_keys
файл на сервере.
Вы, вероятно, также должны chmod -R go-wr ~/.ssh
на сервере.
В руководстве OpenSSH объясняется, как решить эту проблему.
Скорее всего, ваш
/home/<user>
или же~/.ssh/authorized_keys
разрешения слишком открыты по стандартам OpenSSH. Вы можете избавиться от этой проблемы, выполнив следующие команды:chmod go-w ~/ chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys
Вы хотите подключиться к серверу Ubuntu без ввода пароля?
Когда вы генерируете новую пару ключей rsa на своем Mac, вы получаете закрытый ключ (id_rsa
) и открытый ключ (id_rsa.pub
). Вы найдете их в ~/.ssh/
по умолчанию.
Войдите в свой сервер Ubuntu и вставьте содержимое id_rsa.pub
в ~/.ssh/authorized_keys
, После этого вы сможете подключиться без пароля. В стандартной системе Ubuntu вам не нужно трогать sshd_config
совсем.