В этой статье мы рассмотрим понятия Debian, SSH и OpenSSH, расскажем из каких этапов состоит настройка SSH-сервера на Debian и покажем, как ее сделать.
Основные понятия
Debian — это одна из самых популярных и распространенных операционных систем Linux (GNU). Дистрибутив разработан по принципу свободного ПО с открытым исходным кодом. Debian является универсальной операционной системой, поскольку подходит как для повседневного использования, так и для специфической работы на серверах. Она оказала значительное влияние на развитие подобного типа ОС.
Нередко на Debian приходится настраивать SSH-сервер. SSH (от англ. Secure Shell ― безопасная оболочка) ― это один из сетевых протоколов безопасности, который позволяет удаленно подключаться к серверу и управлять им. Протокол работает по принципу взаимодействия двух сторон — клиента и сервера. Он требует аутентификации сторон одним из способов: по IP-адресу, по паролю или с помощью ключевой пары. Secure Shell по умолчанию проводит соединения по порту 22. Подробнее читайте в статье.
Лучшим инструментом для работы по SSH на сервере является OpenSSH. OpenSSH (Open Secure Shell) — набор утилит, который работает на базе протокола SSH и позволяет шифровать сеансы связи в процессе работы через сеть. Благодаря Secure Shell можно в режиме реального времени удаленно посылать команды на сервер и обмениваться с ним данными. OpenSSH содержит такие компоненты, как SCP, SFTP, SFTP-server и другие. Этот комплект ПО аутентифицирует пользователей с помощью нескольких встроенных механизмов: вызов-отклик, публичные ключи, протокол аутентификации kerberos и интерфейс GSS-AP.
Чтобы настроить защищенное соединение на Debian, необходимо не только установить набор программ OpenSSH, но и внести дополнительные настройки. О том, как это сделать, мы рассказали в инструкциях ниже.
Как установить OpenSSH
- 1 Откройте терминал.
-
2
Обновите список пакетов с помощью команды:
sudo apt-get update
-
3
Установите OpenSSH:
sudo apt-get install openssh-server
Введите «yes», чтобы продолжить установку.
-
4
Если вы используете фаервол UFW, нужно разрешить удаленное подключение к порту 22. Для этого выполните команду:
sudo ufw allow ssh
-
5
Проверьте работу SSH-сервера с помощью команды:
sudo systemctl status ssh
Если установка прошла корректно, вы увидите следующее сообщение:
Статус «active (running)» означает, что server запущен. Также в строке «Server listening on» вы увидите порт, через который работает SSH.
Готово.
Как изменить порт для OpenSSH
По умолчанию OpenSSH использует порт 22. Этот порт нужно изменить по следующим причинам:
- из соображений безопасности. Если сервер просканируют боты и обнаружат, что он отвечает по открытому порту 22, они могут попытаться подобрать пароль;
- для доступности сервера. Если порт 22 занят другой службой — например, веб-сервером — сервер SSH не будет работать.
Все настройки нужно сделать в конфигурационном файле. Чтобы изменить порт:
- 1 Откройте терминал.
-
2
Создайте резервную копию конфигурационного файла с помощью команды:
sudo cp /etc/ssh/sshd_config{,_back}
-
3
Откройте конфигурационный файл командой:
sudo nano /etc/ssh/sshd_config
-
4
Раскомментируйте строку «Port» и замените порт 22 на значение в диапазоне от 1 до 65 535. Проверьте, чтобы новый порт не был занят другой службой:
После того как вы указали порт, нажмите Ctrl + O и Enter, чтобы сохранить изменения. Затем нажмите Ctrl + X, чтобы закрыть текстовый редактор.
-
5
Чтобы применить изменения, перезагрузите SSH-сервер:
sudo systemctl restart sshd
-
6
Для подключения используйте команду:
ssh user@host -p 1234
Где: user — имя пользователя, host — адрес целевого компьютера, 1234* — порт, по которому работает SSH.
Готово.
Как отключить вход для суперпользователя OpenSSH
Перед тем, как отключить вход для суперпользователя убедитесь, что создан хотя бы еще один пользователь. После этого:
- 1 Откройте терминал.
-
2
Создайте резервную копию конфигурационного файла с помощью команды:
sudo cp /etc/ssh/sshd_config{,_back}
-
3
Откройте конфигурационный файл с помощью команды:
sudo nano /etc/ssh/sshd_config
-
4
Раскомментируйте строку «PermitRootLogin» и укажите значение «no»:
Чтобы сохранить изменения, нажмите Ctrl + O и Enter. Затем закройте редактор сочетанием клавиш Ctrl + X.
Вы можете изменить решение: для этого в строке «PermitRootLogin» укажите значение «yes».
-
5
Чтобы применить настройки, выполните команду:
sudo systemctl restart sshd
Готово, вы отключили вход для суперпользователя.
Как настроить авторизацию по ключу
Перед настройкой убедитесь, что у вас создана ключевая пара.
Как создать ключевую пару
-
1
Откройте терминал и выполните команду:
ssh-keygen
-
2
Система предложит директорию, в которой будут сохранены ключи. Нажмите Enter, чтобы согласиться, или укажите путь до другого каталога:
-
3
Введите пароль, чтобы защитить открытый ключ:
-
4
Повторите пароль:
-
5
Если создание ключей прошло корректно, вы увидите сообщение:
-
6
Скопируйте открытый ключ:
ssh-copy-id user@host -p 1234
Где:
- user — имя пользователя,
- host — адрес целевого компьютера,
- 1234 — порт, по которому работает SSH.
-
7
Чтобы продолжить подключение, введите yes:
-
8
Если передача ключа прошла успешно, вы увидите сообщение:
- 1 Откройте терминал.
-
2
Создайте резервную копию конфигурационного файла с помощью команды:
sudo cp /etc/ssh/sshd_config{,_back}
-
3
Откройте конфигурационный файл командой:
sudo nano /etc/ssh/sshd_config
-
4
Раскомментируйте строку «PubkeyAuthentication» и укажите в ней значение «yes»:
Чтобы сохранить изменения, нажмите Ctrl + O и Enter. Затем закройте редактор сочетанием клавиш Ctrl + X.
-
5
Чтобы применить настройки, выполните команду:
sudo systemctl restart sshd
Готово, вы настроили авторизацию по ключу.
Помогла ли вам статья?
Спасибо за оценку. Рады помочь 😊