Как пользоваться протоколом SSH в Ubuntu: установка и настройка

Alexey 04.01.2021 0 Ubuntu загрузка, ошибки, решение проблемы

Настройка Брандмауэра (netfilter) для SSH и тырем порт

По умолчанию для SSH соединения, используется порт ТСP-порт 22. Забегая перед следует сказать, что многие рекомендует его поменять, но я так не думаю. Смена порта не поможет, «любой» сканер без труда отыщет ваш порт куда вы его не запрятали. Способ смены порта хорошо известен и Хакеры пишут соответствующие скрипты. Ниже будут приведены меры безопасности, прочитав их вы можете решить стоит ли менять порт или нет. Чтобы узнать какой порт слушает демон (sshd) на сервере, нужно выполнить команду:

$ sudo grep -w ‘Port’ /etc/ssh/sshd_config #Port 22

Применив директиву Port поменяв значение, вы укажете демону (sshd) порт который нужно слушать;

Port 8822

Теперь демон (sshd) будет слушать порт 8822, для подключения к серверу, нужно воспользоваться на клиентской машине командой:

$ ssh -p8822 [email protected]

Ключ ‘-p‘ указывает порт, вместо user пишем имя пользователя, 127.0.0.1 меняем на IP своего сервера.

C портами разобрались, теперь нужно настроить брандмауэр. Можно воспользоваться средствами TUI дистрибутива.

Внимание! Будьте внимательны и последовательны в ваших действиях ! Неправильные действия могут привести к потере удалённого доступа.

Для Red-Hat based:

$ sudo yum install iptables system-config-securitylevel-tui $ sudo system-config-securitylevel-tui

Нужно открыть порты (SSH) ТСP-22, UDP-22 или соответственно открыть порт который указали в директиве Port

Для SuSE:

$ sudo yast

Заходим в /Безопасность и пользователи/ Брандмауэр / Разрешённые службы — добавляем «Сервер Secure Shell», если вы указали порт директивой Port то / Брандмауэр / Разрешенные службы /Дополнительно и добавляем порт TCP и UDP .

Читайте также:  Apple выпустила финальную версию iOS 12.0.1

Для «ручной настройки» следует внимательно ознакомиться с правилами iptables и настройкой брандмауэра вашего дистрибутива.

Приведу пример открытия портов простыми правилами:

iptables -A INPUT -p tcp —dport 22 -j ACCEPT iptables -A OUTPUT -p udp —sport 22 -j ACCEPT

Внимание ! Следует понимать, что к примеру SuSEfirewall2 генерирует правила для iptables из конфигурационного файла /etc/sysconfig/SuSEfirewall2, в каждом дистрибутиве есть свои особенности управления брандмауэром.

Настройка SSH в Ubuntu

Для правильной и безопасной работы с SSH-сервером его нужно определённым образом настроить. Для этого нужно отредактировать файл параметров sshd_config, расположенный в каталоге /etc/ssh. Примечательно, что его нельзя изменить, просто открыв через файловый менеджер в обычном текстовом редакторе. Система оповестит вас о недостаточных правах, и вы просто не сможете сохранить изменения. Поэтому вам снова понадобится терминал и знание нескольких команд, о которых мы сейчас расскажем. Давайте рассмотрим необходимые шаги по настройке ssh сервера в операционной системе Ubuntu.

  1. Создайте резервную копию файла настроек, для того, чтобы можно было восстановить оригинальный файл в случае каких-то ошибок: sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_
  2. Откройте файл конфигурации для его правки: sudo nano /etc/ssh/sshd_config.
  3. Выполните необходимые настройки (об этом напишем дальше).
  4. Чтобы сохранить выполненные изменения, нажмите последовательно Ctrl + X, затем Y и Enter.
  5. Перезапустите службу SSH на вашем компьютере: sudo systemctl restart ssh. 
  6. Попробуйте подключиться к удалённому или локальному компьютеру, применяя новые настройки (об этом мы также напишем ниже).

Включение общего доступа к файлам

Чтобы сделать возможным совместное использование файлов, эта функция должна быть включена в системах Windows. Чтобы включить это, запустите командную строку от имени администратора и выполните следующие команды.

Затем выполните приведенные ниже команды, чтобы включить совместное использование файлов и обнаружение сети.

Читайте также:  Бюджетные версии iPad (2019) не будут поддерживать Face ID

netsh advfirewall firewall set rule group=»Общий доступ к файлам и принтерам» new enable=Yes netsh advfirewall firewall set rule group=»Обнаружение сети» new enable=Yes

Совместное использование файлов должно быть включено на компьютере с Windows после выполнения приведенных выше команд.

Настройка службы SSH

Запрещаем авторизацию от пользователя root. Ваша учетная запись должна быть в группе sudo или wheel (в зависимости от ОС) для того чтобы выполнять команды от суперпользователя, как это сделать указано выше. Для непосредственного выполнения команд следует перед командой использовать служебную команду sudo.

Например:

sudo reboot

Также для перехода в режим суперпользователя можно использовать одну из двух команд:

либо

sudo su

Во всех случаях система запросит пароль.

Теперь отключим авторизацию под пользователем root.

Открываем на редактирование файл sshd_config. В Debian/Ubuntu это выглядит так:

sudo nano /etc/ssh/sshd_config

Находим строчку:

PermitRootLogin и заменяем его значение на no.

Запрещаем аутентификацию по паролю. Важно это сделать, если у вас уже успешно выполняется подключение по ключу.

Открываем все тот же файл sshd_config.

sudo nano /etc/ssh/sshd_config

Находим строку:

PasswordAuthentication yes

Заменяем значение “yes” на “no”.

Строка может быть закомментирована (т.е. перед ней стоит символ “#”), в этом случае ее надо раскомментировать.

Важно! Вы можете оставить авторизацию как по паролю, так и по ключу.

По окончании настроек любого из пунктов, перезапускаем сервер.

sudo /etc/init.d/ssh restart

Либо

sudo service ssh restart

Либо

sudo systemctl restart sshd