Что такое SSH. Настройка доступа по SSH на операционной системе Debian 10. Авторизация без пароля (по ключу).
SSH (Secure Shell — «безопасная оболочка») — сетевой протокол прикладного уровня, позволяющий производить удалённое управление операционной системой и туннелирование TCP-соединений (например, для передачи файлов). Схож по функциональности с протоколом Telnet , но, в отличие от него, шифрует весь трафик, включая и передаваемые пароли. SSH допускает выбор различных алгоритмов шифрования. SSH-клиент и SSH-серверы доступны для большинства сетевых операционных систем.
Механизм обеспечения безопасности данных протоколом SSH
Приложения клиента посылают запросы на открытие сессии определенному порту сервера. Сервисы прослушивают специфические запросы, отправленные, как правило, прямым текстом, и реагируют нужным образом.
Наиболее часто используемые порты – это FTP (21), SMTP (25), HTTP (80), TELNET (23). Протокол SSH создает «безопасную оболочку» таким подключениям, перенаправляя пакеты на 22 порт (обслуживаемый SSH), где преобразовывает, шифрует и инкапсулирует данные.
Применение протокола SSH
Область применения протокола SSH практически неограничена. Исходя из его основной функции — удаленного входа в операционную систему, протокол используют:
- системные администраторы для удаленной настройки компьютеров локальной сети;
- для настройки почтовых служб (повышает безопасность данных);
- для скрытого обмена внутри сети массивными файлами;
- для интернет-игр.
Функции надежного шифрования, сжатия, аутентификации и системы контроля данных, реализуемые протоколом SSH-2, позволяют использовать его для сокрытия и защиты от внешних атак передаваемой информации, сократить количество используемого трафика, снизить нагрузку на центральный процессор за счет создания многопоточного соединения через порт SSH.
Как установить 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
Если установка прошла корректно, вы увидите следующее сообщение:
Как изменить порт для OpenSSH
По умолчанию OpenSSH использует порт 22. Этот порт нужно изменить по следующим причинам:
- из соображений безопасности. Если сервер просканируют боты и обнаружат, что он отвечает по открытому порту 22, они могут попытаться подобрать пароль;
- для доступности сервера. Если порт 22 занят другой службой — например, веб-сервером — сервер SSH не будет работать.
Все настройки нужно сделать в конфигурационном файле. Чтобы изменить порт:
Откройте терминал.
Создайте резервную копию конфигурационного файла с помощью команды:
sudo cp /etc/ssh/sshd_config{,_back}
Откройте конфигурационный файл командой:
sudo nano /etc/ssh/sshd_config
Раскомментируйте строку «Port» и замените порт 22 на значение в диапазоне от 1 до 65 535. Проверьте, чтобы новый порт не был занят другой службой:
Чтобы применить изменения, перезагрузите SSH-сервер:
sudo systemctl restart sshd
Для подключения используйте команду:
ssh user@host -p 1234
Где:
- user — имя пользователя,
- host — адрес целевого компьютера,
- 1234 — порт, по которому работает SSH.
Как отключить вход для суперпользователя OpenSSH
Перед тем, как отключить вход для суперпользователя убедитесь, что создан хотя бы ещё один пользователь. После этого:
Откройте терминал.
Создайте резервную копию конфигурационного файла с помощью команды:
sudo cp /etc/ssh/sshd_config{,_back}
Откройте конфигурационный файл с помощью команды:
sudo nano /etc/ssh/sshd_config
Раскомментируйте строку «PermitRootLogin» и укажите значение «no»:
Чтобы применить настройки, выполните команду:
sudo systemctl restart sshd
Как настроить авторизацию по ключу
Для начала необходимо создать ключевую пару.
Откройте терминал.
Выполните команду:
ssh-keygen
Система предложит директорию, в которой будут сохранены ключи. Нажмите Enter, чтобы согласиться, или укажите путь до другого каталога:
Дважды введите пароль, чтобы защитить открытый ключ:
Если создание ключей прошло корректно, вы увидите сообщение:
Скопируйте открытый ключ:
ssh-copy-id user@host -p 1234
Чтобы продолжить подключение, введите yes:
Если передача ключа прошла успешно, вы увидите сообщение:
После того, как ключи были созданы откройте терминал
Создайте резервную копию конфигурационного файла с помощью команды:
sudo cp /etc/ssh/sshd_config{,_back}
Откройте конфигурационный файл командой:
sudo nano /etc/ssh/sshd_config
Раскомментируйте строку «PubkeyAuthentication» и укажите в ней значение «yes»:
Чтобы применить настройки, выполните команду:
sudo systemctl restart sshd