Не работает SSH с ключами

Если возникла проблема с rsa ключами для доступа по SSH, хотя казалось бы все сделал как пишут в интернете, запустите ssh с выводом на экран:

ssh user@host.local -i /temp/id_rsa -v

Читайте вывод. Наиболее частые проблемы это:

  • Даны не верные права на файлы и папки на стороне сервера
  • Даны не верные права на файл закрытого ключа на стороне клиента
  • Не настроен /etc/ssh/sshd_config на работу с сертификатами
  • В моем случае все это не помогло, а помогла замечательная команда:

ssh-copy-id -i ~/.ssh/id_rsa.pub user@host.local

 

До нее добавление в authorized_keys я делал через cat >> и при выводе подключения на экран получал сообщение:

Next authentication method: password

На всякий случай привожу список команд для генерации rsa ключей для ssh доступа без пароля:

На сервере:

ssh-keygen -t rsa -b 4096
sudo chmod 0700 ~/.ssh/
sudo chmod 0600 ~/.ssh/id*
touch authorized_keys
chown user authorized_keys
chmod 0600 ~/.ssh/authorized_keys
ssh-copy-id -i ~/.ssh/id_rsa.pub user@host.local

На клиенте:

Забираем закрытый ключ к себе

scp user@host.local:~/.ssh/id_rsa /Volumes/DATA/id_rsa

 

После снова на сервере:

Удаляем закрытый ключ из соображений безопасности:

rm ~/.ssh/id_rsa

 

Коннектимся:

ssh user@host.local -i /Volumes/DATA/id_rsa