Настройка SSH доступа по RSA ключу

Категория: Linux

Настройка SSH соединения с удаленным сервером по RSA  ключу.

Добавление алиаса в ~/.ssh/config для простого подключения к серверу по заданным настройкам.

  1. Генерируем пару RSA ключей (без ввода passphrase):
    Можете пропустить этот шаг и использовать уже существующие ключи.. Ключи нужно искать в каталоге ~/.ssh/
    Обычно они называются id_rsa и публичный (который можно показывать) - id_rsa.pub.
    ssh-keygen -t rsa -f ~/.ssh/id_rsa_servicename -C "key description" -q -N ""
  2. Отправляем публичный ключ на сервер:
    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
      
  3. Если у вас несколько ключей для авторизации на разных серверах, нужно связать ключи с хостами в локальном файле ~/.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
категория: Linux