Поиск по сайту:

Основы Linux: как создать и установить ключи SSH в оболочке


На этой странице

  1. Установка ключей SSH в Linux: пошаговое руководство
    1. Шаг 1. Создание пары ключей RSA
    2. Шаг второй. Копирование открытого ключа
    3. Шаг 3 (этот шаг не является обязательным). Отключение пароля для облегчения входа в систему root

    Ключи SSH обеспечивают очень безопасный способ входа на сервер с помощью SSH, в отличие от простой зависимости от пароля. В то время как пароль подвергается риску быть окончательно взломанным, ключи SSH практически невозможно расшифровать с помощью грубой силы. На самом деле, генерация пары ключей предлагает пользователям две длинные строки символов, соответствующие как открытому, так и закрытому ключу. Таким образом, пользователи могут разместить открытый ключ на любом сервере, а затем разблокировать его, подключившись к нему с помощью клиента, у которого уже есть закрытый ключ. При совпадении двух ключей система разблокируется без утомительной зависимости от пароля. Безопасность может быть дополнительно защищена брандмауэром путем защиты закрытого ключа с помощью парольной фразы.

    Установка ключей SSH в Linux — пошаговое руководство

    Ниже представлено пошаговое руководство, в котором подробно описан процесс установки ключей SSH на сервер Linux:

    Шаг первый: создание пары ключей RSA

    Первым шагом в процессе установки является создание пары ключей на клиентской машине, которая чаще всего будет вашей собственной системой. Пользователям необходимо использовать следующую команду:

    ssh-keygen -o -b 4096 -t rsa

    Приведенная выше команда запускает процесс установки ключа SSH для пользователей. Параметр -o указывает ssh-keygen хранить закрытый ключ в новом формате OpenSSH вместо старого (и более совместимого формата PEM). Настоятельно рекомендуется использовать параметр -o, так как новый формат OpenSSH имеет повышенную устойчивость к взлому паролей методом грубой силы. Если на вашем сервере не работает опция -o (введена в 2014 году) или вам нужен приватный ключ в старом формате PEM, то используйте команду ssh-keygen -b 4096 -t rsa.

    Параметр -b команды ssh-keygen используется для установки длины ключа на 4096 бит вместо 1024 бит по умолчанию из соображений безопасности.

    После ввода основной команды Gen Key пользователям необходимо пройти следующее упражнение, ответив на следующие подсказки:

    Enter the file where you wish to save the key (/home/demo/.ssh/id_rsa)

    Пользователям необходимо нажать ENTER, чтобы сохранить файл в домашнем каталоге пользователя.

    Следующее приглашение будет выглядеть следующим образом:

    Enter passphrase

    Если вы как администратор хотите назначить парольную фразу, вы можете сделать это при появлении запроса (согласно вопросу выше), хотя это необязательно, и вы можете оставить поле пустым, если не хотите назначать парольную фразу.

    Тем не менее, здесь уместно отметить, что ввод уникальной парольной фразы дает ряд преимуществ, перечисленных ниже:

    1. Безопасность ключа, даже если он сильно зашифрован, во многом зависит от его невидимости для любой другой стороны. I 2. В вероятном случае, когда секретный ключ, защищенный паролем, попадет в распоряжение неавторизованного пользователя, он не сможет войти в свои связанные учетные записи, пока не сможет взломать парольную фразу. Это неизменно дает жертве (взломанному пользователю) драгоценное дополнительное время, чтобы предотвратить попытку взлома. С другой стороны, назначение парольной фразы для ключа требует, чтобы вы вводили ее каждый раз, когда используете пару ключей, что немного усложняет процесс. утомительно, но абсолютно безотказно.

    Вот общий план сквозного процесса генерации ключей:

    Публичный ключ теперь можно найти по ссылке ~/.ssh/id_rsa.pub

    Закрытый ключ (идентификационный) теперь можно отследить до ссылки-/home/demo/.ssh/id_rsa 3

    Шаг второй: копирование открытого ключа

    После того, как отдельная пара ключей сгенерирована, следующим шагом остается размещение открытого ключа на виртуальном сервере, который мы собираемся использовать. Пользователи смогут скопировать открытый ключ в файл author_keys новой машины с помощью команды ssh-copy-id. Ниже приведен предписанный формат (строго пример) для ввода имени пользователя и IP-адреса, который необходимо заменить фактическими системными значениями:

    ssh-copy-id 

    В качестве альтернативы пользователи могут вставлять ключи с помощью SSH (в соответствии с данной командой):

    cat ~/.ssh/id_rsa.pub | ssh  "cat >> ~/.ssh/authorized_keys"

    При использовании любой из приведенных выше команд в вашей системе должно появиться следующее сообщение:

    Подлинность хоста 192.168.0.100 не может быть установлена. Отпечаток ключа RSA: b1:2d:32:67:ce:35:4d:5f:13:a8:cd:c0:c4:48:86:12. Вы уверены, что хотите продолжить подключение (да/нет)? да Предупреждение: 192.168.0.100 (RSA) навсегда добавлен в список известных хостов. [email \, и проверьте: ~/.ssh/authorized_keys, чтобы убедиться, что мы не добавили лишних ключей, которых вы не ожидали.

    После описанного выше упражнения пользователи готовы войти в [email без запроса пароля. Однако, если вы ранее присвоили ключу парольную фразу (согласно шагу 2 выше), вам будет предложено ввести парольную фразу на этом этапе (и каждый раз для последующих входов в систему).

    Шаг 3 (этот шаг не является обязательным): отключение пароля для облегчения входа в систему root

    После того, как пользователи скопировали свои SSH-ключи на ваш сервер и обеспечили беспрепятственный вход только с помощью SSH-ключей, у них есть возможность ограничить вход в систему root и разрешить то же самое только с помощью SSH-ключей. Для этого пользователям необходимо получить доступ к файлу конфигурации SSH с помощью следующей команды:

    sudo nano /etc/ssh/sshd_config

    После доступа к файлу пользователям необходимо найти строку в файле, содержащую PermitRootLogin , и изменить ее, чтобы обеспечить надежное соединение с использованием ключа SSH. Следующая команда поможет вам сделать это:

    PermitRootLogin without-password

    Последним шагом в процессе остается реализовать изменения с помощью следующей команды:

    reload ssh

    Вышеизложенное завершает процесс установки ключей SSH на сервере Linux.

    Преобразование закрытого ключа OpenSSH в новый формат

    Большинство старых ключей OpenSSH хранятся в формате PEM. Хотя этот формат совместим со многими старыми приложениями, у него есть недостаток, заключающийся в том, что пароль закрытого ключа, защищенного паролем, может быть взломан методом грубой силы. В этой главе объясняется, как преобразовать закрытый ключ в формате PEM в ключ в новом формате OpenSSH.

    ssh-keygen -p -o -f /root/.ssh/id_rsa

    Путь /root/.ssh/id_rsa — это путь к старому файлу закрытого ключа.

    Заключение

    Вышеуказанные шаги помогут вам установить ключи SSH на любой виртуальный частный сервер абсолютно безопасным, надежным и беспроблемным способом.