Поиск по сайту:
Очень тяжело менять, ничего не меняя, но мы будем! (М. Жванецкий).

Как настроить SSH ключи на CentOS 8

26.04.2020
Как настроить SSH ключи на CentOS 8

Secure Shell (SSH) – это криптографический сетевой протокол, предназначенный для безопасного соединения между клиентом и сервером.

Два самых популярных механизма аутентификации SSH – аутентификация на основе пароля и аутентификация на основе открытого ключа. Использование ключей SSH обычно более безопасно и удобно, чем традиционная аутентификация по паролю.

В этой статье описывается, как генерировать ключи SSH в системах CentOS 8. Мы также покажем вам, как настроить аутентификацию на основе ключей SSH и подключаться к удаленным серверам Linux без ввода пароля.

 

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

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

Выполните команду ls, чтобы проверить, существуют ли файлы ключей:

ls -l ~/.ssh/id_*.pub

 

Если выходные данные команды возвращают что-то вроде No such file or directory, или no matches found, то это означает, что у пользователя нет ключей SSH, и вы можете перейти к следующему шагу и сгенерировать пару ключей SSH.

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

Сгенерируйте новую пару ключей SSH 4096 бит с вашим адресом электронной почты в качестве комментария, введя следующую команду:

ssh-keygen -t rsa -b 4096 -C "your_email@domain.com"

 

Читать  Как найти открытый ключ SSH

Вам будет предложено указать имя файла:

Enter file in which to save the key (/home/yourusername/.ssh/id_rsa):

 

Нажмите Enter, чтобы принять местоположение файла по умолчанию и имя файла.

Далее вам будет предложено ввести безопасную фразу-пароль. Хотите ли вы использовать фразу-пароль, решать только вам. Ключевая фраза добавит дополнительный уровень безопасности. Если вы не хотите использовать пароль, просто нажмите Enter.

Enter passphrase (empty for no passphrase):

 

Все взаимодействие выглядит так:

Как настроить SSH ключи на CentOS 8

 

Чтобы убедиться, что ваша новая пара ключей SSH сгенерирована, введите:

ls ~/.ssh/id_*

 

/home/yourusername/.ssh/id_rsa /home/yourusername/.ssh/id_rsa.pub

 

Скопируйте открытый ключ на сервер

Теперь, когда генерируется пара ключей SSH, следующим шагом является копирование открытого ключа на сервер, которым вы хотите управлять.

Самый простой и рекомендуемый способ скопировать открытый ключ на удаленный сервер и использовать утилиту ssh-copy-id. На вашем локальном компьютере тип терминала:

ssh-copy-id remote_username@server_ip_address

 

Команда попросит вас ввести пароль remote_username:

remote_username@server_ip_address's password:

 

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

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh 'username@server_ip_address'"
and check to make sure that only the key(s) you wanted were added.

 

Если ssh-copy-id недоступен на вашем локальном компьютере, используйте следующую команду для копирования открытого ключа:

cat ~/.ssh/id_rsa.pub | ssh remote_username@server_ip_address "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"

 

Читать  iptables против nftables: в чем разница?

Войдите на ваш сервер, используя SSH ключи

После выполнения описанных выше шагов вы сможете войти на удаленный сервер без запроса пароля.

Чтобы проверить это, попробуйте войти на свой сервер через SSH :

ssh remote_username@server_ip_address

 

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

 

Отключение аутентификации по паролю SSH

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

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

Для отключения аутентификации по паролю SSH выполните следующие действия:

  1. Войдите в свой удаленный сервер:
    ssh sudo_user@server_ip_address
  2. Откройте файл конфигурации SSH /etc/ssh/sshd_config с помощью текстового редактора:
    sudo nano /etc/ssh/sshd_config
  3. Найдите следующие директивы и измените их следующим образом:
    /etc/ssh/ sshd_config
    PasswordAuthentication no
    ChallengeResponseAuthentication no
    UsePAM no
  4. Когда вы закончите, сохраните файл и перезапустите службу SSH, набрав:
    sudo systemctl restart ssh

 

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

 

Вывод

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

Читать  SCP с удаленного на локальный в Linux

По умолчанию SSH прослушивает порт 22. Изменение порта SSH по умолчанию снижает риск автоматических атак. Чтобы упростить рабочий процесс, используйте файл конфигурации SSH для определения всех ваших соединений SSH.

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
Поделиться в соц. сетях:


0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

Это может быть вам интересно


Рекомендуемое
MySQL 5.7.11 представил прозрачное шифрование табличного пространства InnoDB, которое включило…

Спасибо!

Теперь редакторы в курсе.