Page tree

Использование SSH-ключа для подключения к серверу позволяет сделать работу более безопасной (снизится вероятность взлома учетной записи) и более удобной (не будет необходимости при каждом соединении вводить пароль).

Настройка авторизации по ключу состоит из создания ключа на локальном компьютере и копирования его на сервер. 

Скопировать ключ на сервер также можно с помощью панели управления — при создании нового VDS или переустановке системы. Кроме того, вы можете хранить ключи в панели управления, чтобы использовать их при создании серверов.

Linux, MacOS, Windows 10

Создание SSH-ключей

Эта инструкция подойдет для ОС Linux, MacOS, а также для версий Windows 10 начиная с 1809 — в них доступен встроенный SSH-клиент. Если у вас более ранняя версия Windows, воспользуйтесь инструкцией из пункта Старые версии Windows (без OpenSSH).

  1. Запустите терминал или Windows PowerShell на вашем компьютере и выполните команду:

    ssh-keygen
  2. Вы увидите примерно следующее сообщение:

    Generating public/private rsa key pair.
    Enter file in which to save the key (/home/user/.ssh/id_rsa):

    Нажмите Enter - ключ будет сохранен в указанную директорию по умолчанию.

  3. Далее вам будет предложено задать пароль (кодовую фразу) для ключа. Вы можете задать ее или оставить пустой, просто нажав Enter. Обратите внимание, что если вы зададите кодовую фразу, ее потребуется вводить при каждой авторизации по ключу.

Процедура создания ключей завершена, ключи сохранены в директории ~/.ssh/ в файлах id_rsa и id_rsa.pub. Теперь их необходимо скопировать на сервер.

Наверх

Копирование ключей на сервер

  1. Выполните в терминале следующую команду, указав вместо user имя пользователя, созданного на сервере, а вместо server - IP-адрес вашего сервера:

    ssh-copy-id user@server
     
    #Например:
    ssh-copy-id admin@2.59.43.145
    
  2. В результате содержимое файла с публичным ключом id_rsa.pub будет скопировано в файл ~/.ssh/authorized_keys на сервере, и в дальнейшем вы сможете устанавливать соединение с сервером, используя команду:

    ssh user@server
     
    #Например:
    ssh admin@2.59.43.145

Наверх

Старые версии Windows (без OpenSSH)

Если вы используете версию Windows без OpenSSH, вам потребуется специальная программа - PuTTYgen. Вы можете скачать дистрибутив puttygen.exe с официального сайта PuTTY.

Создание SSH-ключей

  1. Запустите программу, в открывшемся окне выберите "Type of key - SSH-2 RSA и нажмите "Generate".
  2. Пока создается ключ, водите мышью в хаотичном порядке в пространстве под строкой загрузки для генерации случайных значений.
  3. После того, как ключ будет создан, в окне программы вы сможете задать "Key passphrase" (кодовую фразу) для ключа. Это необязательно, вы можете оставить строку пустой. Если вы решите задать кодовую фразу, обратите внимание, что ее потребуется вводить при каждой авторизации по ключу.
  4. Далее сохраните созданные ключи, нажав на кнопки "Save public key" и "Save private key", например, под именами id_rsa.pub и mykey.ppk. Также скопируйте и сохраните в любом текстовом файле содержимое окна "Public key for pasting…" - оно потребуется при копировании созданного ключа на сервер.

На этом процедура создания ключей завершена.

Наверх

Копирование ключей на сервер

В процессе копирования ключей вам потребуется утилита pageant. Вы можете скачать дистрибутив pageant.exe с официального сайта PuTTY.

  1. Подключитесь к серверу по SSH и выполните команду для создания на сервере директории и файла для хранения ключей:

    mkdir ~/.ssh
    
    chmod 0700 ~/.ssh
    
    touch ~/.ssh/authorized_keys
    
    chmod 0644 ~/.ssh/authorized_keys
  2. Откройте созданный файл с помощью текстового редактора:

    nano ~/.ssh/authorized_keys
  3. Вставьте в него скопированный на предыдущем шаге текст public key из окна PuTTYgen и сохраните файл.
  4. Запустите pageant - его иконка появится в трее. Щелкните по ней правой кнопкой мыши и выберите Add Key.
  5. В открывшемся окне укажите путь к приватному ключу mykey.ppk, сохраненному ранее, и нажмите Open. Если при создании ключа вы указывали кодовую фразу, pageant запросит ее на данном этапе.
  6. Для проверки работы авторизации по ключу снова запустите утилиту PuTTY, подключитесь к вашему серверу и введите свой логин. Если все настроено корректно, вы увидите подобный вывод в окне консоли:

    Authenticating with public key "rsa-key-20151220" from agent

    Наверх

Отключение доступа по паролю

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

  1. Откройте файл командой:

    sudo nano /etc/ssh/sshd_config
  2. Найдите в нем строку PasswordAuthentication и замените ее значение на: PasswordAuthentication no .
  3. Сохраните изменения, после чего перезапустите службу SSH:

    sudo service ssh restart

Наверх

  • No labels