Изменить порт ssh в CentOS 7
Обновлено: 22.11.2024
Демон 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 для уменьшения количества спама. Узнайте, как обрабатываются данные ваших комментариев.
Мы к вашим услугам и научим вас, как изменить порт SSH в операционной системе CentOS. Порт службы SSH по умолчанию — 22, и если он у нас есть по умолчанию, хакеры могут атаковать сервер через порт 22, взять его под контроль или нанести ему непоправимый ущерб. Поэтому мы предлагаем вам изменить порт SSH по умолчанию, чтобы повысить безопасность вашего сервера.
Что такое SSH?
SSH означает безопасную оболочку, бесплатную версию инструмента подключения SSH, который обеспечивает безопасное подключение к сети. SSH шифрует все передаваемые данные (включая пароли), исключая возможность доступа других лиц к сетевым данным. SSH — это стандартный протокол для зашифрованного обмена информацией по сети. С помощью сервисного ПО ssh обеспечивается удаленный доступ к компьютеру в сети.
SSH (верхний регистр) означает протокол SSH, а ssh (нижний регистр) означает программное обеспечение для удаленной связи. Одна из бесплатных программ для установки SSH-соединения, которая называется Putty, позволяет подключаться к серверам Linux с помощью команд.
Примечания перед изменением порта SSH по умолчанию
- Лучше указать 4- или 5-значный порт. Также не забудьте использовать свободный порт SSH.
- Если в сети центра обработки данных используется брандмауэр, обязательно сообщите центру обработки данных нужный порт, чтобы открыть его.
- Обязательно запишите порт, который вы хотите выделить для SSH.
- Будьте осторожны при изменении порта SSH, так как любая ошибка может привести к проблемам с доступом к серверу.
- Если вы не используете SELinux, вам следует просто отключить его, чтобы предотвратить любые проблемы с работой вашего сервера.
Шаги по изменению порта SSH в CentOS
- Войдите в SSH с помощью программного обеспечения PuTTY.
- Отключить SELinux
- Отредактируйте файл sshd_config и измените порт 22 на нужный порт.
- Перезапустите службу sshd.
Используйте Putty для подключения к серверу
Вы можете воспользоваться приведенной ниже обучающей ссылкой, чтобы узнать, как использовать шпатлевку для подключения к Linux VPS.
Отключить SELinux перед изменением порта SSH
Чтобы отключить SELinux, откройте указанный ниже файл и отключите режим.
Редактировать файл sshd, чтобы изменить порт SSH
После входа в SSH через Putty перейдите в режим редактирования файла sshd_config с помощью следующей команды.
Примечание. Если пакет nano не установлен, попробуйте установить его с помощью этой команды.
Примечание. Вы также должны добавить новый порт в свой брандмауэр, чтобы предотвратить любые сбои, используя эту команду после изменения порта SSH.
Перезапустить службу sshd
Чтобы перезапустить службу SSHD, используйте приведенную ниже команду. Если вы столкнулись с ошибкой при перезапуске этой службы, попробуйте перезагрузить сервер. Как только сервер был готов, вы можете легко подключиться к серверу через шпатлевку, и вместо порта 22 следует использовать новый номер порта, но дело в том, что на этот раз вы более безопасны, чем в прошлый раз!
Обзор
Вы можете легко изменить порт SSH с помощью файла sshd_config. Единственное, с чем вам следует быть осторожным, это добавить новый номер порта в ваш брандмауэр, прежде чем применять новые настройки, чтобы предотвратить нарушение работы сервера.
Надеюсь, вам понравился этот пост и вы нашли ответы на свои вопросы.
Пожалуйста, поделитесь с нами своим мнением.
В этой статье я расскажу вам, как изменить номер порта ssh по умолчанию в Linux. ssh известен как безопасная оболочка, которая используется для безопасного установления соединения с удаленным хостом на порту ssh по умолчанию с номером 22. Иногда из-за некоторых соображений безопасности или для предотвращения любых атак грубой силы вы хотите изменить порт по умолчанию на какой-либо другой порт .
Этого можно легко добиться, изменив номер порта ssh в файле конфигурации ssh. Теперь мы продолжим и проверим шаги по изменению порта по умолчанию ниже.
Изменить номер порта SSH
1. Изменить номер порта SSH в sshd_config
Во-первых, вам нужно изменить номер порта ssh в файле /etc/ssh/sshd_config на свободный порт, в данном случае 4800. Убедитесь, что выбранный порт свободен и не используется другими службами.
Теперь вы можете нажать Esc . Затем сохраните и выйдите с помощью wq! . Это сохранит файл и выполнит выход.
2. Перезапустите службу sshd
После изменения номера порта ssh необходимо перезапустить службу sshd с помощью команды systemctl restart sshd, чтобы изменения вступили в силу.
или вы также можете перезапустить службу sshd традиционным способом, выполнив команду перезапуска службы sshd.
3. Проверить статус службы sshd
Теперь вы можете проверить статус службы sshd с помощью команды systemctl status sshd. Как видно из приведенного ниже вывода, служба sshd запущена за последние 1 мин 7 с, а сервер прослушивает порт 4800.
Обратите внимание, что вместо замены порта 22 в sshd_config рекомендуется добавить еще один порт 4800 в следующей строке, чтобы открыть и порт 22, и порт 4800 на случай, если что-то пойдет не так с конфигурацией и вы потеряете соединение ssh удаленная система. Это особенно необходимо учитывать, когда Сервер географически разделен и у вас нет физического доступа к удаленному серверу.
4. Проверить статус selinux
Теперь вам нужно проверить статус selinux, выполнив команду sestatus, чтобы убедиться, что он не будет блокировать какие-либо запросы. Как видно из приведенного ниже вывода, текущий режим установлен на разрешающий, что означает, что он не будет применять какие-либо политики selinux, а будет отображать только предупреждения. Вы также можете отключить selinux, если хотите полностью отключить его. Вы можете обратиться к статье «Лучший способ отключить SELinux в CentOS/RedHat 7», чтобы узнать больше об отключении SELinux.
Вы также можете отключить SELinux, установив SELinux=disabled, как показано ниже.
Теперь нажмите ESC, а затем wq! чтобы сохранить и выйти.
5. Перезагрузите систему
Чтобы политика selinux вступила в силу, вам необходимо один раз перезагрузить систему с помощью команды init 6.
или вы также можете запустить команду reboot, чтобы перезагрузить систему.
6. Разрешите порт 4800 через брандмауэр
Вам также необходимо разрешить ssh-порт 4800 от брандмауэра, чтобы разрешить подключения к этому порту.
Иногда может случиться так, что вы не хотите, чтобы служба firewalld работала, и хотите полностью ее остановить. В этом случае вы можете остановить службу, выполнив команду systemctl stop firewalld, как показано ниже.
Проверьте состояние брандмауэра. Теперь вы можете заметить, что служба firewalld перешла в неактивное состояние и, следовательно, не работает.
Убедитесь, что ssh-порт 4800 открыт и разрешен через IPTABLES, если IPTABLES активен в вашей системе. Если это не разрешено, вы можете проверить 30 самых популярных команд IPTABLES в Linux, чтобы разрешить этот порт через брандмауэр IPTABLES.
7. Проверьте подключение к порту
Теперь вы можете попробовать подключиться по телнету к порту 4800 ssh из другой системы и проверить, открыт ли порт ssh. Как видно из приведенного ниже вывода, ssh-порт 4800 теперь открыт и подключается удаленно.
Безопасная оболочка, более известная как SSH, представляет собой сетевой протокол, который обеспечивает безопасные каналы для связи сервера в сети в архитектуре клиент-сервер. Этот протокол используется во многих приложениях, например, когда пользователи получают доступ к учетным записям оболочки на сервере или во время обмена данными для аутентификации. Коммуникации SSH проходят через то, что называется портом, который, по сути, является конечной точкой связи на сервере. По умолчанию SSH использует порт TCP (протокол управления передачей) 22. Возможность изменить этот номер порта SSH на вашем сервере CentOS 7 — это простой и проверенный способ повысить безопасность сервера, переключившись на менее известный порт.
В этом руководстве мы покажем вам, как изменить номер порта SSH на любой желаемый на вашем собственном сервере CentOS 7.
Начало работы
Прежде чем следовать этому руководству, убедитесь, что у вас есть следующее:
• 1 узел (облачный сервер или выделенный сервер) под управлением CentOS 7.
• Корневой доступ к узлу.
Учебник
Чтобы изменить SSH-порт вашего сервера, вы должны отредактировать файл конфигурации для демона SSH, который находится в /etc/ssh/sshd_config. Однако, прежде чем мы сделаем этот шаг, мы создадим резервную копию существующего файла конфигурации sshd в качестве хорошей практики. Используйте команду копирования cp с флагом -p, которая сохраняет последнюю отредактированную информацию, чтобы сделать копию файла и сохранить ее в файле резервной копии, имя которого включает дату, что достигается добавлением результата $(date +% F) к имени файла. %F обеспечивает использование полной даты в формате год-месяц-число при получении текущей даты с датой.
cp -p /etc/ssh/sshd_config /etc/ssh/sshd_config.orig.$(дата +%F)
Сохранив файл резервной копии, вы можете изменить файл конфигурации sshd по своему усмотрению. Откройте этот файл в текстовом редакторе vi:
При выборе нового номера порта старайтесь избегать использования общего порта из этого списка: 21, 80, 443, 25, 110, 113. Также избегайте портов, которые уже используются вашим сервером CentOS 7. Как правило, рекомендуется использовать новый номер порта, превышающий 1024. Однако, если у вас возникли трудности с выбором нового номера порта, вы можете посмотреть, какие общие порты используются в Интернете, в списках хорошо известных номеров портов TCP и UDP, которые доступный и выберите тот, которого нет в списке.
После записи нового порта в файл конфигурации сохраните и закройте файл. Чтобы изменения вступили в силу, необходимо перезапустить демон SSH. Сделайте это с помощью следующей команды:
systemctl перезапустить sshd.service
Однако будьте осторожны, вы еще не закончили! Есть несколько дополнительных шагов, которые вы должны предпринять, если на вашем сервере включен SELinux, модуль безопасности ядра Linux, также известный как Security-Enhanced Linux. Если у вас работает брандмауэр, вы также должны продолжить следующее. Если у вас нет SELinux или firewalld, перейдите к последнему шагу перед окончанием руководства. Если у вас есть что-то из этого, продолжайте.
По умолчанию SELinux разрешает SSH только через порт 22. Мы должны изменить его на наш новый порт. В нашем примере мы используем 2222, но вы должны заменить этот номер номером вашего порта в приведенной ниже команде, которая использует порт semanage для настройки портов в политике SELinux:
semanage port -a -t ssh_port_t -p tcp 2222
Вы можете убедиться, что у SELinux есть новый порт, просмотрев выходные данные команды semanage port -l, в которой перечислены порты, работающие с SELinux. Инструмент grep используется для поиска этого вывода и выводит только соответствующие строки, содержащие слово SSH. Чтобы выполнить проверку, запустите:
semanage port -l | grep ssh
Вывод приведенной выше команды должен выглядеть следующим образом:
ssh_port_t TCP 2222, 22
Далее, чтобы разрешить новый порт в вашем брандмауэре, вы должны запустить постоянное добавление порта в общедоступную зону. Замените номер 2222 ниже своим собственным номером порта, который вы установили в файле конфигурации SSH, и запустите:
firewall-cmd --permanent --zone=public --add-port=2222/tcp
Чтобы изменения вступили в силу, необходимо перезапустить брандмауэр. Это чрезвычайно важно, так как в противном случае, если ваши изменения не будут применены, вы будете заблокированы от SSH к этому серверу, если вы выйдете из системы! Перезагрузите брандмауэр, используя:
После завершения настройки firewalld и SELinux (или если вы пропустили этот раздел), вы можете проверить, работает ли ваша новая конфигурация порта SSH. Команда ss вызывает утилиту, которая исследует сокеты Linux, что является просто сложным термином для точки связи с сервером. Эта команда позволит вам найти порт, который прослушивает SSH на вашем сервере, и мы можем найти в выводе точные номера портов для SSH. Для этого сначала введите:
ss -tnlp|grep ssh
Вывод будет выглядеть примерно так:
СЛУШАТЬ 0 128 *:2222 *:* пользователей:(("sshd",2786,3))
Убедитесь, что вы видите свой новый номер порта в выходных данных, так же, как мы видим 2222 в строке выше для нашего порта, который мы используем в руководстве.
Заключение
Поздравляем! Теперь вы успешно настроили новый порт для SSH на вашем сервере CentOS 7. Если это введение в основы было для вас полезным, поделитесь этим руководством со своими друзьями.
Эта работа находится под лицензией Creative Commons Attribution-NonCommercial 4.0 International License
Читайте также: