Обычно для доступа по SSH требуется вводить пароль каждый раз при подключении к серверу. Но с использованием аутентификации по открытому ключу мы можем установить безопасное подключение без необходимости вводить пароль. Это очень удобно, особенно если вы работаете с сервером регулярно.
Для начала нам понадобится генерировать пару ключей – публичный и приватный. Приватный ключ будет храниться на нашем компьютере, а публичный ключ будет загружен на сервер. Это позволит серверу проверять подлинность нашего подключения, не требуя ввода пароля.
Установка и настройка OpenSSH на сервере
Шаг 1: Установка OpenSSH
- Откройте терминал на вашем сервере.
- Установите пакет OpenSSH с помощью следующей команды:
sudo apt install openssh-server
Шаг 2: Настройка OpenSSH
- Откройте файл
/etc/ssh/sshd_config
с помощью текстового редактора:sudo nano /etc/ssh/sshd_config
- Прокрутите вниз до строки
#PasswordAuthentication yes
и раскомментируйте ее, заменивyes
наno
. В результате должно получиться:PasswordAuthentication no
- Сохраните изменения и закройте файл.
- Перезапустите службу SSH для применения настроек:
sudo service ssh restart
Шаг 3: Проверка подключения
- На вашем клиентском компьютере откройте терминал или командную строку.
- Введите следующую команду для подключения к серверу по SSH:
ssh username@server_ip_address
- Вместо
username
укажите ваше имя пользователя на сервере, а вместоserver_ip_address
— IP-адрес вашего сервера. - Если все настройки выполнены правильно, вы должны быть подключены к серверу без запроса пароля.
Теперь у вас должно быть успешно установлено и настроено OpenSSH на вашем сервере. Вы можете безопасно подключаться по SSH без необходимости вводить пароль каждый раз.
Установка и настройка OpenSSH на клиентском компьютере
Прежде чем подключиться к серверу по SSH из Windows без пароля, необходимо установить и настроить OpenSSH на клиентском компьютере. В этом разделе мы рассмотрим шаги установки и настройки OpenSSH.
- Скачайте установочный файл OpenSSH для Windows с официального сайта OpenSSH (https://github.com/PowerShell/Win32-OpenSSH/releases).
- Запустите установщик и следуйте инструкциям в мастере установки.
- Выберите папку для установки OpenSSH. Рекомендуется оставить значение по умолчанию.
- Выберите компоненты для установки. Убедитесь, что опция «Client» выбрана.
- Выберите путь для установки компонентов. Рекомендуется оставить значение по умолчанию.
- Выберите путь для распаковки конфигурационных файлов. Рекомендуется оставить значение по умолчанию.
- Завершите установку, нажав на кнопку «Install».
Теперь OpenSSH установлен и настроен на вашем клиентском компьютере. Перейдем к настройке подключения к серверу по SSH без пароля.
Генерация и передача SSH-ключа на сервер
Первым шагом для подключения к серверу по SSH без пароля требуется сгенерировать SSH-ключ на локальном компьютере. Для этого откройте командную строку или терминал и введите команду:
ssh-keygen -t rsa
После запуска команды вам будет предложено указать место хранения ключа и ввести пароль для него (пароль не является обязательным).
После генерации ключа можно передать его на сервер с помощью команды:
ssh-copy-id username@server_ip_address
Вам может быть предложено ввести пароль от учетной записи на сервере. Введите пароль и нажмите Enter. Эта команда установит ключевую аутентификацию на сервере, что позволит вам войти без пароля.
После передачи ключа вы сможете подключиться к серверу по SSH без ввода пароля, просто выполнив команду:
ssh username@server_ip_address
Обратите внимание:
Если у вас уже есть SSH-ключ, сгенерированный ранее, вы можете пропустить первый шаг и использовать ваш существующий ключ. В этом случае просто выполните команду ssh-copy-id
для передачи вашего публичного ключа на сервер.
Если вы используете Windows и не можете найти команду ssh-copy-id
, вам потребуется загрузить и установить инструмент OpenSSH для Windows или использовать альтернативные способы передачи ключа на сервер.