SSH вход с помощью ключа
Кратка инструкция для авторизации по ключу. Так же решение проблемы когда всё сделано правильно, но ssh сервер всё равно просит пароль. Я использую ubuntu/debian.
Генерируем у себя ключ:
ssh-keygen -t rsa
Скопируем ключ на сервер:
ssh-copy-id -i ~/.ssh/id_rsa.pub имя_пользователя@IP_адрес_сервера
Если на сервере используется не стандартный порт (22):
ssh-copy-id -i ~/.ssh/id_rsa.pub "-p ПОРТ имя_пользователя@IP_адрес_сервера"
Настроив на одной машине подобным образом столкнулся с проблемой. Прокидываю ключ, пробую авторизоваться, всё равно просит пароль.
По этому важно проверить права на папки и файл. Заходим на сервер, переходим в домашнюю директорию пользователя:
cd ~/.ssh
Проверяем права:
- У файла authorized_keys права должны быть 600
- У папки ~/.ssh права должны быть 700
- У папки cd ~ т.е. самой домашней папки пользователя должны быть 700
После этого у меня авторизация заработала.
Дополнительно
Для дебага можно использовать:
ssh -vvv ИМЯ_ПОЛЬЗОВАТЕЛЬ@АДРЕС_СЕРВЕРА
Перезагрузить ssh сервер можно командой:
service ssh restart