Вход по SSH с использованием RSA: методы и примеры кода для безопасного удаленного доступа

  1. Метод: создание пары ключей RSA
    Код:

    ssh-keygen -t rsa -b 4096
  2. Метод: копирование открытого ключа на удаленный сервер
    Код:

    ssh-copy-id -i ~/.ssh/id_rsa.pub user@remote_host
  3. Метод: ручной процесс (альтернатива ssh-copy-id)
    Код:

    cat ~/.ssh/id_rsa.pub | ssh user@remote_host 'mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys'
  4. Метод: использование PuTTY (Windows)

    • Сгенерируйте пару ключей RSA с помощью PuTTYgen.
    • Скопируйте открытый ключ на удаленный сервер вручную или с помощью эквивалента ssh-copy-id в Windows.
  5. Метод: использование Ansible (автоматическое развертывание)
    Код:

    - name: Copy SSH public key
     authorized_key:
       user: user
       key: "{{ lookup('file', '~/.ssh/id_rsa.pub') }}"
  6. Метод: использование библиотеки Python paramiko
    Код:

    import paramiko
    private_key_path = '/path/to/private_key'
    client = paramiko.SSHClient()
    client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    client.connect('remote_host', username='user', key_filename=private_key_path)