Если возникла проблема с 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