Linux, как узнать порт ssh

Обновлено: 21.11.2024

В этом руководстве мы рассмотрим, как изменить порт SSH в Centos 6, 7 и 8.

Список контента, который вы прочтете в этой статье:

Если вы являетесь счастливым обладателем удаленного сервера Linux или VPS, вы, вероятно, знаете, что для доступа к нему через Интернет вам потребуется использовать SSH. Несмотря на то, что наличие надежного и надежного пароля является единственным шагом в области кибербезопасности, который предпринимают большинство пользователей удаленных серверов, всегда рекомендуются дополнительные уровни безопасности. Одна важная мера безопасности, которую мы предлагаем вам реализовать, — это изменение порта SSH. Сегодня мы предоставим вам подробное пошаговое руководство о том, как сделать это в CentOS.

Что такое SSH?

Полной формой SSH является демон Secure Shell. Это сетевой протокол, используемый для безопасного удаленного входа в систему для систем Linux с использованием безопасного канала из незащищенной сети с помощью надежной криптографии. По умолчанию SSH прослушивает порт 22, поэтому рекомендуется изменить порт SSH по умолчанию, чтобы повысить безопасность и тем самым снизить риск автоматизированной атаки.

Как изменить порт SSH в CentOS 6

Шаг 1: Прежде всего, вам нужно будет открыть файл конфигурации SSH, чтобы изменить порт, таким образом, выполните следующую команду в терминале:

Шаг 2. После выполнения вышеупомянутой команды выполните одну из следующих команд:

Если вы не указали порт, SSHD по умолчанию, то он будет работать на ранее указанных адресах и параметрах порта. Вы также можете разрешить несколько адресов прослушивания и параметров в sshd_config.

Шаг 4. Теперь отредактируйте, чтобы установить порт на 2022, и сохраните файл, чтобы успешно внести изменения:

После успешного использования команды сохраните и закройте файл.

Помните, что перед перезапуском системы необходимо обновить следующие элементы, чтобы изменения вступили в силу:

  1. Конфигурация SELinux
  2. Настройки брандмауэра
  3. настройки fail2ban

Обновить конфигурацию SELinux

Обновить настройки брандмауэра

Шаг 2. После этого измените значения следующим образом:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 2022 -j ПРИНЯТЬ

После редактирования значений сохраните и закройте файл.

Шаг 3. Если вы являетесь пользователем IPv6, отредактируйте также файл /etc/sysconfig/ip6tables, поэтому временно отключите брандмауэр, набрав:

Настройки Fail2ban

Fail2ban сканирует все файлы журналов и блокирует IP-адреса с любыми вредоносными действиями, ошибками с паролями, входами в систему SSH, эксплуатацией и т. д. Используйте его для обновления правил.

Шаг 1. Введите следующую команду, чтобы перезапустить службы SSHD:

Шаг 2. Проверьте новые настройки порта с помощью этой команды netstat:

Шаг 3. Теперь используйте следующие команды для перезапуска брандмауэра в CentOS:

ssh -p PortNumberHere пользователь@имя-сервера-здесь

ssh -p Номер_портаЗдесь user@имя-сервера-здесь ИмяКомандыЗдесь

ssh -p 2022 XYZ@192.168.1.5

ssh -p 2022 XYZ@192.168.1.5df

scp -P 2022 резюме.pdf XYZ@nas01:/backups/personal/XYZ/files/

sftp -P PortNumberHere user@имя-сервера-здесь

sftp-P 2022 XYZ@192.168.1.5

Изменить номер порта SSH с помощью команды rsync:

sync -av -e 'ssh -p НОМЕР ПОРТА-ЗДЕСЬ' источник user@имя-сервера

Как изменить порт SSH в CentOS 7

В этом разделе мы дадим вам краткое руководство о том, как изменить порт SSH в CentOS 7. Это просто; однако вы должны следовать каждому шагу, чтобы исключить возможность возникновения ошибок.

Шаг 1. Сначала откройте файл /etc/ssh/sshd_config, найдите следующий порт 229 и убедитесь, что выбран неиспользуемый/неизвестный порт (не менее >1023).

Шаг 2. Чтобы открыть порт в firewallD, используйте следующую команду:

firewall-cmd --add-port YOUR_PORT_HERE/tcp

Конфигурация SELinux

Настройте SELinux для работы с новым портом, введя следующую команду:

semanage port -a -t ssh_port_t -p tcp YOUR_PORT_HERE

Настройки Fail2Ban

Шаг 1. Откройте файл /etc/fail2ban/jail.conf и найдите следующий раздел, чтобы настроить Fail2Ban:

Шаг 2. Теперь измените значения порта на фактический порт с помощью следующих команд. В этом примере показан порт 7222:

После выполнения этих команд Fail2Ban не сможет закрыть соответствующий порт.

Шаг 3. Теперь введите следующие команды для проверки новых конфигураций:

systemctl перезапустить sshd

системный рестарт fail2ban

Вы также можете попробовать подключиться по SSH к серверу с новым портом:

sshUSERNAME@YOUR_IP/HOSTNAME -p YOUR_NEW_PORT

После того, как вы успешно выполните вышеупомянутые шаги, завершите настройки и подчистите, то есть используйте новый порт, а не предыдущий.

Шаг 4. Настройте демон SSH, откройте /etc/ssh/sshd_config и удалите/закомментируйте в нем порт 22.

Теперь вы сказали SSHD не прослушивать порт 22, который является портом по умолчанию.

Шаг 5. Пришло время завершить настройку брандмауэра:

firewall-cmd --add-port YOUR_PORT_HERE/tcp --permanent

Шаг 6. После этого введите следующие команды:

systemctl перезапустить sshd.service

firewall-cmd --remove-service ssh --permanent

Если вы столкнулись со следующей ошибкой при перезапуске SSHD:

задание для sshd.service завершилось неудачно, так как управляющий процесс завершился с кодом ошибки. Подробности смотрите в "systemctl status sshd.service" и "journalctl -xe".

Запустите journalctl –xe командой:

После выполнения команды вы получите следующий вывод:

ядро server1: type=1400 аудит(1537086072.510:4): avc: Denon for pid=1074 comm="sshd" src=6378 scontext=system_u:system_r:sshd_t:s0-s0:c0 .c1023 tcontext=system_u:object_r:unres

server1 sshd[1074]: ошибка: привязка к порту 6378 на 0.0.0.0 не удалась: разрешение отклонено.

server1 sshd[1074]: ошибка: привязка к порту 6378 на :: не удалось: разрешение отклонено.

ядро сервера 1: type=1400 аудит(1537086072.515:5): avc: запрещено for pid=1074 comm="sshd" src =6378 scontext=system_u:system_r:sshd_t:s0-s0:c0.c1023 tcontext=system_u:object_r:unres

сервер1 sshd[1074]: фатальный: невозможно привязать какой-либо адрес.

server1 systemd[1]: sshd.service: основной процесс завершен, code=exited, status=255/n/a

server1 systemd[1]: не удалось запустить демон сервера OpenSSH.

Шаг 6. Вы должны выполнить следующие команды, чтобы установить изменения для системы:

semanage port -a -t ssh_port_t -p tcp 3456

Шаг 7. Теперь вы можете убедиться, что SELinux разрешил SSHD прослушивать два порта:

semanage port -l | grep ssh

ssh_port_t TCP 3456, 22

Шаг 8. Затем введите следующую команду:

ням, что обеспечивает semanage

Вывод должен выглядеть следующим образом:

policycoreutils-python-2.5-22.el7.x86_64 : Утилиты ядра политики SELinux для Python

Репозиторий: база

Сопоставлено с:

Имя файла: /usr/sbin/semanage

Шаг 9. Теперь установите policycoreutils.

yum install -y policycoreutils-python

Шаг 10. Наконец, проверьте, можете ли вы войти на сервер через новый порт SSH, выполнив следующую команду:

ssh -p 3456 root@server1

Как изменить порт SSH в CentOS 8

Шаг 1: Сначала вам нужно проверить статус службы SSH в CentOS 8 с помощью команды systemctl:

статус systemctl sshd.service

После выполнения вышеупомянутой команды вы получите следующее сообщение:

Мы можем изменить файл /etc/ssh/sshd_config, чтобы настроить службу SSH в соответствии с нашими требованиями. В этом файле нет директивы Port, и служба SSH использует порт ssh по умолчанию с номером 22.

Шаг 2. Добавьте директиву Port в файл sshd_config с помощью команды echo.

эхо "Порт 50" >> /etc/ssh/sshd_config

Шаг 3. Конфигурация SELinux запрещает запуск каких-либо служб на порте, отличном от порта по умолчанию. Настройте SElinux, чтобы разрешить SSH использовать порт 50/tcp.

Шаг 4. Используйте команду semanage, чтобы добавить порт 50/tcp для типа ssh_port_t:

semanage port -a -t ssh_port_t -p tcp 50

Настройки брандмауэра

Шаг 1. Теперь вам нужно указать разрешенные порты или службы в брандмауэре.

После выполнения приведенной выше команды вы увидите следующее:

public (active)

target: default

icmp-block-inversion: no

interfaces: ens33

источники:

сервисы: cockpit dhcpv6-client ssh

порты:

протоколы:

маскарад: нет

< p>forward-ports:

source-ports:

icmp-blocks:

богатые правила:

Вы также можете ввести systemctl firewalld вместо команды, выполненной выше.

Шаг 2. Теперь заблокируйте эту службу SSH и разрешите новый порт SSH в брандмауэре.

firewall-cmd --permanent --remove-service=ssh

firewall-cmd --permanent --add-port=50/tcp

Шаг 3. После этого введите следующую команду, чтобы перезапустить службу:

systemctl перезапустить sshd

Шаг 4. Вам также потребуется проверить статус службы SSH, введя:

статус systemctl sshd.service

После выполнения команды вы получите следующее сообщение:

Шаг 5. Теперь введите следующую команду для доступа к службе SSH с помощью команд ssh и sftp из порта ssh по умолчанию:

Вы получите такой вывод после выполнения вышеупомянутой команды. Этот вывод покажет, что брандмауэр не пропускает трафик через порт 22.

Шаг 6. Теперь вы можете получить доступ к службе SSH с помощью команды ssh:

Аналогично выполните следующие команды для sftp:

Заключение

Поздравляем, вы дошли до конца. Если вы хотите настроить свой собственный CentOS VPS на основе SSD, вы можете легко сделать это с Monovm. Как мы упоминали ранее, хорошо изменить порт SSH на серверах, поскольку это обеспечивает дополнительную безопасность для системы.Мы включили пошаговую процедуру, как сделать именно это в трех последних версиях CentOS.

Secure Shell, обычно называемый SSH, представляет собой сетевой протокол, используемый для удаленного входа в систему на компьютерах в сети или через Интернет. SSH очень популярен, так как он безопасен и прост в использовании, особенно если вам удобно пользоваться терминалом.

В этом кратком руководстве мы обсудим, как установить SSH с помощью сервера OpenSSH в системе Linux, быструю настройку и, наконец, покажем, как просмотреть и изменить порт, на котором работает SSH.

Приступим:

Установка SSH в Linux

Давайте начнем с обсуждения установки SSH в Linux.

ПРИМЕЧАНИЕ. Эта часть руководства не так уж важна, и вы можете пропустить ее, если в вашей системе уже установлен SSH.

Тем не менее, начните с обновления системы с помощью команды:

Далее установите сервер OpenSSH с помощью простой команды:

После успешного выполнения команды вы должны настроить SSH в своей системе и приступить к его настройке.

По соглашению служба SSH устанавливается как служба ssh, и вы можете управлять ею с помощью systemd.

Начните с проверки правильности установки службы с помощью команды:

Убедившись, что у вас установлена ​​служба SSH, вы можете продолжить и запустить службу с помощью команды:

Чтобы включить запуск SSH при загрузке, используйте команду systemctl:

Как изменить порт SSH по умолчанию

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

Фундаментальный способ защитить SSH — изменить порт, на котором он работает по умолчанию, на порт 22.

Вы часто будете слышать следующую шутку: "Вселенная состоит из протонов, нейтронов, электронов и портов ssh по умолчанию". Эта шутка популярна в кругах программистов, поскольку порты SSH по умолчанию уязвимы. к атакам, особенно к брут-форсу.

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

Чтобы изменить порт SSH по умолчанию, нам нужно отредактировать файл конфигурации сервера SSH в /etc/ssh/sshd_config

Вы также можете выполнить другие настройки в этом файле для повышения безопасности вашего сервера, но мы не будем рассматривать это в этом руководстве.

Теперь закройте файл и сохраните все изменения. Далее нам нужно перезапустить сервис для применения изменений, что вы можете сделать с помощью команды:

Как найти порт, на котором работает SSH

Чтобы просмотреть порт, на котором работает SSH, просмотрите содержимое файла sshd_config и grep для порта с помощью команды:

Заключение

В этом кратком руководстве мы обсудили, как установить и быстро настроить SSH в Linux. Мы также рассмотрели, как отредактировать файл конфигурации SSH, чтобы изменить порт SSH по умолчанию, и, наконец, рассмотрели, как определить, на каком порту работает SSH.

Об авторе

Джон Отиено

Меня зовут Джон, и я такой же гик, как и вы. Я увлечен всеми вещами компьютеров от аппаратного обеспечения, операционных систем до программирования. Моя мечта — поделиться своими знаниями с миром и помочь другим гикам. Следите за моим контентом, подписавшись на список рассылки LinuxHint

Номер порта для SSH по умолчанию — 22. Всякий раз, когда мы запускаем команду через SSH-порт по умолчанию номер 22, устанавливается соединение между клиентом и сервером. Каждое соединение инициализируется через этот порт.

В этом руководстве объясняется, почему и как изменить порт SSH по умолчанию в Linux.

Почему мы должны изменить порт SSH по умолчанию?

Изменение порта SSH по умолчанию добавляет дополнительный уровень безопасности нашему серверу, снижая риск автоматических атак.

Когда мы переключаем этот порт на какой-либо другой, хакер должен попробовать несколько других портов, чтобы в конечном итоге найти открытый порт. Поэтому, чтобы вывести любого хакера из-под контроля, лучше его изменить.

Процедура изменения номера порта SSH для Linux Server

  • Откройте терминальное приложение и подключитесь к нашему серверу через SSH.
  • Найдите файл sshd_config, введя команду find.
  • Отредактируйте файл сервера sshd и установите порт.
  • Сохраните и закройте файл
  • Перезапустите службу sshd, чтобы изменить порт ssh в Linux.

Как изменить номер порта SSH по умолчанию 22

Чтобы изменить порт SSH по умолчанию, нам нужно отредактировать файл sshd_config. Кроме того, всегда полезно сохранить резервную копию вашего файла. Используйте эту команду, чтобы сначала создать резервную копию:

$ cp /etc/ssh/sshd_config /etc/ssh/sshd_config_backup

Эта команда создает копию файла в том же каталоге. Следующим шагом является изменение порта SSH по умолчанию.Откройте файл ssh_config в любом редакторе. Теперь введите следующую команду:

После того, как мы выполним эту команду, указанный файл откроется в текстовом редакторе. Найдите эту строку в коде:

Итак, пора перезапустить SSH.

Чтобы перезапустить сервер для загрузки изменений, мы должны выполнить эту команду, как указано ниже:

$ sudo service sshd перезапуск

Проверить номер порта SSH в Linux с помощью команды netstat

Мы можем использовать команду netstat, предоставив некоторые параметры для проверки того, какой порт работает для процесса SSH.

netstat -anpl|grep ssh

Если это порт, который мы только что настроили, мы можем безопасно выйти с сервера и повторно войти в систему с новым портом.

Войти в Linux с новым портом SSH

Нам нужно добавить параметр -p в команду SSH для входа в систему после смены порта.

Как перехватить SSH-трафик с помощью порта Tcpdump?

В этом примере мы будем перехватывать пакеты SSH через порт номер 22 с помощью команды tcpdump.

Мы можем отфильтровать tcp-порт 22 в команде tcpdump, чтобы захватить весь трафик ssh.

tcpdump -i eth0 TCP порт 22

tcpdump -i eth0 ‘tcp[2:2] = 22’

Вывод tcpdump зависит от формата. Типичная строка вывода для TCP выглядит следующим образом.

21:38:44.202888 IP 10.79.97.62.60915 > 216.58.220.206.22: Флаги [S], seq 1580803359, win 65535, параметры [mss 1366,nop,wscale 6,nop,nop,TS val 552701199 ecr 0,sackOK,eol], длина 0

Мы можем сохранить перехваченные пакеты в файл, а не распечатывать их, используя флаг "-w".

Демон SSH или Secure Shell — это сетевой протокол, который используется для удаленного безопасного входа в системы Linux по защищенному каналу через незащищенные сети с использованием стойкой криптографии.

Одним из основных преимуществ протокола SSH является возможность доступа к оболочкам Unix на удаленных компьютерах с Linux и выполнения команд. Однако протокол SSH может предлагать другие реализации, такие как возможность создавать защищенные туннели TCP по протоколу, удаленно и безопасно передавать файлы между компьютерами или действовать как FTP-подобная служба.

Стандартный порт, используемый службой SSH, — 22/TCP. Однако вы можете изменить порт SSH по умолчанию на вашем сервере Linux, чтобы обеспечить некоторую безопасность за счет неизвестности, поскольку стандартный порт 22 / TCP постоянно подвергается уязвимостям со стороны хакеров и ботов в Интернете.

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

В этом примере мы настроим службу SSH для привязки и прослушивания порта 34627/TCP. Убедитесь, что вы выбрали случайный порт, желательно выше 1024 (верхний предел стандартных известных портов). Максимальный порт, который можно настроить для SSH, — 65535/TCP.

После внесения вышеуказанных изменений перезапустите демон SSH, чтобы отразить изменения, и введите команду netstat или ss, чтобы убедиться, что служба SSH прослушивает новый TCP-порт.

В дистрибутивах на базе CentOS или RHEL Linux установите пакет policycoreutils и добавьте приведенные ниже правила, чтобы ослабить политику SELinux, чтобы демон SSH мог привязываться к новому порту.

Кроме того, не забудьте обновить правила брандмауэра, характерные для вашего собственного установленного дистрибутива Linux, чтобы разрешить установку входящих соединений на новый добавленный порт SSH.

Если вам понравилась эта статья, подпишитесь на уведомления по электронной почте о руководствах по Linux. Если у вас есть вопросы или сомнения? обратитесь за помощью в разделе комментариев.

Если вы цените то, что мы делаем здесь, в TecMint, вам следует подумать о следующем:

TecMint – это самый быстрорастущий и пользующийся наибольшим доверием сайт сообщества, где можно найти любые статьи, руководства и книги по Linux в Интернете. Миллионы людей посещают TecMint! для поиска или просмотра тысяч опубликованных статей, доступных всем БЕСПЛАТНО.

Если вам нравится то, что вы читаете, купите нам кофе (или 2) в знак признательности.

Мы благодарны за вашу бесконечную поддержку.

Похожие сообщения

4 мысли о «Как изменить порт SSH в Linux»

Спасибо за статью.

Обновленный брандмауэр для centos7, как показано ниже, работает без сбоев.

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

Безопасность через неизвестность — это не безопасность. Простой nmap -sV обнаружит ваш новый порт ssh за считанные минуты.

Я думаю, что это было бы

Есть что сказать? Присоединяйтесь к обсуждению. Отменить ответ

Этот сайт использует Akismet для уменьшения количества спама. Узнайте, как обрабатываются данные ваших комментариев.

Читайте также: