Как настроить ключи SSH (ключи SSH) в Debian 10 Buster

12 set 2022 3 min di lettura
Как настроить ключи SSH (ключи SSH) в Debian 10 Buster
Indice dei contenuti

Введение

Secure Shell (SSH) — это криптографический сетевой протокол, используемый для безопасного соединения между клиентом и сервером и поддерживающий различные механизмы аутентификации. Зашифрованное соединение можно использовать для выполнения команд на сервере, туннелирования X11, переадресации портов и многого другого.

Пароль и открытый ключ — два наиболее распространенных механизма аутентификации.

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

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

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

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

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

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

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

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

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

ssh-keygen -t rsa -b 4096 -C "[email protected]"

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

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

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

Далее вам будет предложено ввести безопасную парольную фразу. Если вы хотите использовать кодовую фразу, это зависит от вас. Парольная фраза добавляет дополнительный уровень безопасности.

Enter passphrase (empty for no passphrase):

Если вы не хотите использовать кодовую фразу, просто нажмите Enter.

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

ls ~/.ssh/id_*

Команда покажет ключевые файлы:

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

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

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

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

Выполните следующую команду на локальном компьютере:

ssh-copy-id nome_utente_remoto@indirizzo_ip_server

Вам будет предложено ввести пароль пользователя nome_utente_remoto:

nome_utente_remoto@indirizzo_ip_server's password:

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

Number of key(s) added: 1

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

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

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

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

На этом этапе вы сможете войти на удаленный сервер без запроса пароля.

Чтобы проверить это, попробуйте подключиться к серверу через SSH:

ssh nome_utente_remoto@indirizzo_ip_server

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

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

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

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

Войдите на удаленный сервер:

ssh nome_utente_sudo@indirizzo_ip_server

Откройте файл конфигурации SSH-сервера /etc/ssh/sshd_config:

sudo nano /etc/ssh/sshd_config

Найдите следующие директивы и измените их следующим образом:

PasswordAuthentication no
 ChallengeResponseAuthentication no
 UsePAM no

После этого сохраните файл и перезапустите службу SSH:

sudo systemctl restart ssh

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

Вывод

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

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

Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.