Авторизацию по ключу в linux (без пароля)

Допустим есть локальный компьютер и удаленная VPS server.ru. Локальный пользователь local_user, на VPS — remote_user. Хотим подключаться без пароля вводя команду

ssh remote_user@server.ru

На локальном компьютере выполняем

ssh-keygen -f /home/local_user/.ssh/id_rsa

Копируем ключ из файла /home/local_user/.ssh/id_rsa.pub в файл на VPS /home/remote_user/.ssh/authorized_keys. Если хотим иметь доступ к VPS с нескольких компьютеров — добавляем в этот файл с новой строки новый публичный ключ.

На сервере выставляем правильные права на файл и каталог:

chmod 700 /home/remote_user/.ssh
chmod 600 /home/remote_user/.ssh/authorized_keys

Проверяем владельца каталога и файла (должен быть remote_user), если кто-то другой, выполняем:

chown remote_user:remote_user /home/remote_user/.ssh
chown remote_user:remote_user /home/remote_user/.ssh/authorized_keys

Правим конфиг ssh сервера на VPS /etc/ssh/sshd_config

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile      %h/.ssh/authorized_keys

Перезагружаем sshd

service ssh restart

Все готово.

Возвращаемся на клиент и пробуем подключится

ssh remote_user@server.ru

Должно войти без пароля. Если спросил пароль — проверйте права, пути, имена файлов.

 

Добавить комментарий