Поиск по сайту:

Как установить и настроить сервер OpenSSH в Linux


Работа сетевым администратором требует глубоких знаний протоколов удаленного входа, таких как rlogin, telnet и ssh. В этой статье я буду обсуждать ssh.

SSH — это безопасный протокол удаленного доступа, который используется для удаленной работы на других компьютерах или передачи данных между компьютерами с помощью команды SCP (Secure Copy). Но что такое OpenSSH и как его установить в свой дистрибутив Linux?

Что такое OpenSSH?

OpenSSH — это бесплатный набор компьютерных инструментов с открытым исходным кодом, используемый для обеспечения безопасного и зашифрованного обмена данными по компьютерной сети с использованием протокола ssh. У многих людей, плохо знакомых с компьютерами и протоколами, создается неправильное представление о OpenSSH, они думают, что это протокол, но это не так, это набор компьютерных программ, использующих протокол ssh.

OpenSSH разработан группой Open BSD и распространяется под упрощенной лицензией BSD. Основным фактором, который сделал возможным столь широкое использование OpenSSH среди системных администраторов, является его мультиплатформенность и очень полезные приятные функции.

Последней версией является OpenSSH 9.3, которая была выпущена 15 марта 2023 г. и содержит множество новых функций и исправлений, поэтому, если вы уже используете OpenSSH для администрирования ваших машин я предлагаю вам выполнить обновление или установить ssh из исходного кода.

Зачем использовать OpenSSH через Telnet или FTP?

Самая важная причина, по которой следует использовать инструменты OpenSSH поверх ftp и Telnet, заключается в том, что все соединения и учетные данные пользователя используют OpenSSH. > зашифрованы, а также защищены от атак типа «посредник». Если третья сторона попытается перехватить ваше соединение, OpenSSH обнаружит это и сообщит вам об этом.

Возможности OpenSSH

  • Безопасная связь
  • Надежное шифрование (3DES, Blowfish, AES, Arcfour)
  • X11 Пересылка (шифрование трафика X Window System)
  • Переадресация портов (зашифрованные каналы для устаревших протоколов)
  • Строгая аутентификация (Открытый ключ, одноразовый пароль и аутентификация Kerberos)
  • Переадресация агента (Единый вход)
  • Совместимость (соответствие стандартам протоколов SSH 1.3, 1.5 и 2.0)
  • Поддержка клиентов и серверов SFTP в протоколах SSH1 и SSH2.
  • Kerberos и Передача билетов AFS
  • Сжатие данных

Установите сервер OpenSSH в Linux

Чтобы установить OpenSSH, откройте терминал и выполните следующие команды с правами суперпользователя.

В Debian/Ubuntu/Linux Mint

В дистрибутивах на основе Debian вы можете использовать следующую команду apt для установки сервера и клиента openssh, как показано.

sudo apt install openssh-server openssh-client

На RHEL/Centos/Fedora

В дистрибутиве на основе RedHat введите следующую команду yum, чтобы установить сервер и клиент openssh.

yum -y install openssh-server openssh-clients

Настройка сервера OpenSSH в Linux

Пришло время настроить поведение OpenSSH с помощью файла ssh config, но перед редактированием файла /etc/ssh/sshd_config нам необходимо сделать резервную копию. его копию, поэтому на случай ошибки у нас есть оригинал.

Откройте терминал и выполните следующую команду cp, чтобы создать копию исходного файла конфигурации sshd.

sudo cp /etc/ssh/sshd_config  /etc/ssh/sshd_config.original_copy

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

Как мне подключиться к OpenSSH

Прежде чем идти дальше, нам нужно проверить, работает ли наш сервер openssh или нет. Как это сделать? Вы можете попытаться подключиться к серверу openssh со своего локального хоста через клиент openssh или выполнить сканирование портов с помощью сканирования портов с помощью openssh.nmap, но мне нравится использовать небольшой инструмент под названием netcat, также известный как TCP/IP швейцарский армейский нож. . Мне нравится работать с этим удивительным инструментом на моей машине, поэтому позвольте мне показать его вам.

nc -v -z 127.0.0.1 22

Судя по результатам netcat, служба ssh работает на порту 22 на моем компьютере. Очень хороший! Что, если мы захотим использовать другой порт вместо 22? Мы можем сделать это, отредактировав файл конфигурации sshd.

Изменить порт SSH

Настройте OpenSSH на прослушивание порта TCP 13 вместо TCP-порта по умолчанию 22. Откройте файл sshd_config в своем любимом текстовом редакторе и измените директиву порта на 13.

Port 13

Перезапустите сервер OpenSSH, чтобы изменения в файле конфигурации вступили в силу. Для этого введите следующую команду и запустите netcat, чтобы проверить, открыт ли порт, который вы установили для прослушивания, или нет.

sudo systemctl restart sshd

Должны ли мы проверить, прослушивает ли наш сервер openssh порт 13 или нет? Эта проверка необходима, поэтому я вызываю свой замечательный инструмент netcat, чтобы тот помог мне выполнить эту работу.

nc -v -z 127.0.0.1 13

Вам нравится, чтобы на вашем сервере openssh отображался красивый баннер для входа в систему? Это можно сделать, изменив содержимое файла /etc/issue.net.

nano /etc/issue.net

Вставьте следующий баннер.

Authorized access only!

If you are not authorized to access or use this system, disconnect now!

Затем добавьте следующую строку в файл конфигурации sshd.

Banner /etc/issue.net

После внесения изменений в конфигурацию SSH обязательно перезагрузите компьютер.

sudo systemctl restart sshd
Заключение

Есть много вещей, которые вы можете сделать с помощью инструментов openssh, когда дело доходит до настройки вашего openssh-сервера, я могу сказать, что ваше воображение — это предел!