Настройка SSH доступа по RSA ключу
Настройка SSH соединения с удаленным сервером по RSA ключу.
Добавление алиаса в ~/.ssh/config для простого подключения к серверу по заданным настройкам.
- Генерируем пару RSA ключей (без ввода passphrase):Можете пропустить этот шаг и использовать уже существующие ключи.. Ключи нужно искать в каталоге
~/.ssh/
Обычно они называютсяid_rsa
и публичный (который можно показывать) -id_rsa.pub
.ssh-keygen -t rsa -f ~/.ssh/id_rsa_servicename -C "key description" -q -N ""
- Отправляем публичный ключ на сервер:
ssh-copy-id -i ~/.ssh/id_rsa_servicename.pub -o PubkeyAuthentication=no '-p 22 user@X.X.X.X'
Внимание!
Если не получается скопировать публичный ключ с помощью ssh-copy-id, можно сделать это вручную.
Шаги:- Авторизоваться на удаленном сервере по паролю:
ssh user:password@X.X.X.X
- Добавить строку .pub ключа в файл /home/user/.ssh/authorized_keys
mkdir .ssh chmod -R 755 .ssh/ nano .ssh/authorized_keys # добавьте свой .pub ключ и сохраните файл chmod 644 .ssh/authorized_keys
- Авторизоваться на удаленном сервере по паролю:
- Если у вас несколько ключей для авторизации на разных серверах, нужно связать ключи с хостами в локальном файле
~/.ssh/config
:host server-alias Hostname X.X.X.X Port 22 User USERNAME IdentityFile ~/.ssh/id_rsa_servicename
Примечание
Для удаления с локалки ранее принятого "серверного ключа" выполните:
ssh-keygen -R server.domain
Также нужно удалить и ключ IP сервера:
ssh-keygen -R X.X.X.X
"Серверный ключ" хранится в /etc/ssh/ssh_host_rsa_key и /etc/ssh/ssh_host_rsa_key.pub.
#linux, #ubuntu, #ssh, #lamp