Технология Secure Shell (SSH) предоставляет пользователям возможность удаленного доступа к машине или серверу Linux. Пользователи могут отдавать команды серверу так же, как если бы они использовали клавиатуру на своём ПК. Результаты выполнения любых команд передаются в текстовом формате. В этом материале мы рассмотрим процесс настройки SSH в Debian 10 и подробно разберём основные факторы, о которых следует помнить в начале использования.
На Debian часто требуется настройка веб-сервера безопасной оболочки, сокращенно SSH. SSH – это протокол сетевой безопасности, который позволяет пользователям удаленно получать доступ к серверу и управлять им. Он работает на основе взаимодействия между пользовательским компьютером и сервером. Аутентификация этих двух субъектов необходима и может быть выполнена тремя способами: через ip-адрес, с помощью пароля или с использованием пары ключей. SSH по умолчанию использует порт 22.
OpenSSH – это мощный набор утилит, предназначенный для безопасного общения по сети. Он основан на протоколе SSH и позволяет шифровать сетевые сессии. С помощью него можно удаленно посылать команды на сервер, обмениваться с ним данными в режиме реального времени.
OpenSSH использует множество компонентов, таких как SCP, SFTP, SFTP-server и т.д. Он также обеспечивает аутентификацию пользователей с помощью встроенных механизмов. Чтобы обеспечить безопасность ваших данных на Debian, необходимо установить пакет программ OpenSSH и выполнить определенные настройки.
Скорее всего, SSH на вашем компьютере уже есть. Обычно его устанавливают в процессе установки Debian. На всякий случай перед настройкой проверьте функционал.
$ sudo systemctl status sshd
В строчке Active должно быть указано значение «active (running)». Если у вас другие параметры, придётся дополнительно установить SSH-сервер.
$ sudo apt install openssh-server ssh
$ sudo systemctl start sshd
$ sudo ufw allow ssh
$ ssh root@localhost
Когда впервые будете подключаться, не забудьте согласиться на добавление ключа сервера в файл ~/.ssh/known_hosts. После этого увидите приглашение ввода в консоли SSH.
Установить набор программ OpenSSH тоже можно в терминале.
sudo apt-get update
sudo apt-get install openssh-server
sudo ufw allow ssh
sudo systemctl status ssh
в открывшемся окне тоже должен отобразиться параметр «active (running)».
Параметры сервера SSH указаны в файле /etc/ssh/sshd_config. Чтобы их не потерять безвозвратно и получить возможность их восстановить, следует сделать его резервную копию. Введите следующую команду.
$ sudo cp /etc/ssh/sshd_config{,_back}
Настраивать SSH-сервер просто, нужно пройти всего 3 этапа.
Серьёзная опасность скрывается в использовании публичного IP-адреса. Его атакует огромное количество ботов, задача которых – найти открытый порт 22 и подобрать пароль. Поэтому порт нужно защитить, заменив его в конфигурационном файле.
Откроем его.
$ vi /etc/ssh/sshd_config
Укажем другое значение. В нашем примере это 2222
Port 2222
Перезапустите SSH-сервер, чтобы применить настройки.
$ sudo systemctl restart sshd
Указываем актуальный порт, используя опцию -p.
$ ssh root@localhost -p 2222
Чтобы подобрать пароль, боты могут ориентироваться на логин пользователя с правами root. Чтобы снизить риски, его авторизацию желательно отключить. Однако важно оставить хотя бы одного пользователя, через которого сможете потом пройти авторизацию.
В том же файле отыщите строку PermitRootLogin, укажите для неё значение «no».
В строке подключения SSH указываем значением «yes».
Для обеспечения максимальной безопасности есть возможность вообще отключить авторизацию по паролю. Вместо этого лучше задать авторизацию по ключу. Изменения тоже производятся в конфигурационном файле.
В строке PubkeyAuthentication ставим «yes».
В строках ChallengeResponseAuthentication, PasswordAuthentication, UsePAM ставим «no».
Теперь у вас есть пошаговая инструкция для установки и настройки SSH-сервера на Debian. Мы разобрали, какие инструменты для этого применяются и как обеспечить максимальную безопасность при удалённой работе.