Android

Как настроить ssh-ключи в Debian 9

Настя и сборник весёлых историй

Настя и сборник весёлых историй

Оглавление:

Anonim

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

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

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

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

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

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

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

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

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

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):

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

Чтобы убедиться, что пара ключей 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"

Авторизуйтесь на сервере с помощью ключей SSH

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

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

ssh remote_username@server_ip_address

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

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

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

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

ssh sudo_user@server_ip_address

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

sudo nano /etc/ssh/sshd_config

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

/ И т.д. / SSH / sshd_config

PasswordAuthentication no ChallengeResponseAuthentication no UsePAM no

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

sudo systemctl restart ssh

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

Вывод

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

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

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

Debian SSH Security