Как настроить доступ по SSH без пароля в Debian 10

12 set 2022 3 min di lettura
Как настроить доступ по SSH без пароля в Debian 10
Indice dei contenuti

Введение

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

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

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

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

Перед созданием новой пары ключей SSH проверьте наличие существующих ключей SSH на клиентском компьютере Debian. Вы можете сделать это, выполнив следующую команду ls:

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

Если вывод приведенной выше команды содержит что-то вроде No such file or directory или no matches found, это означает, что у вас нет ключей 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 remote_username@server_ip_address

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

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"

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

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

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

ssh remote_username@server_ip_address

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

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

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

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

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

ssh sudo_user@server_ip_address

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

sudo nano /etc/ssh/sshd_config

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

PasswordAuthentication no
 ChallengeResponseAuthentication no
 UsePAM no

Сохраните и закройте файл, нажав CTRL + X, затем Y, чтобы сохранить изменения, а затем ENTER, если вы используете nano.

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

sudo systemctl restart ssh

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

Вывод

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

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

По умолчанию SSH прослушивает порт 22. Изменение порта SSH по умолчанию снизит риск автоматических атак.

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

Support us with a

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.