Я создал ключ 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 совсем.

Другие вопросы по тегам