Как поменять порт ssh linux

Смена порта SSH-сервера как мера защиты от брутфорса

По умолчанию SSH-сервер открывает для входящих соединений 22 TCP-порт, и тем самым вызывает потенциальную угрозу bruteforce-атак, поскольку злоумышленник обнаружив на сервере такой открытый порт, пытается подобрать пароль к удалённому серверу при помощи специальных средств автоматизации.

В этой статье мы опишем, как сконфигурировать SSH-сервер на альтернативном порту.

Особо отметим, что не стоит воспринимать описанный здесь метод, как панацею. Китайская мудрость гласит — «Security by Obscurity is no Security at all». Не забывайте и про другие методы защиты SSH, такие как правильная настройка межсетевого экрана, разрешение доступа только ограниченному набору IP-адресов, отказ от парольной аутентификации и использование ключей RSA/DSA, и т.п.

Конфиг SSH-сервера обычно располагается в /etc/ssh/sshd_config. Для редактирования этого файла вам потребуются привилегии суперпользователя root, или возможность выполнить sudo для получения таких привилегий текстовым редактором.

Выполните команду, например:

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

Закомментируйте её и добавьте новую строку со случайным номером порта, например 58291. Номер порта не должен превышать 65535. Также удостоверьтесь, что выбранное вами значение не конфликтует с другими сервисами в системе, например mysqld использует порт 3306, httpd — 80, ftpd — 21. Рекомендуем выбрать пятизначное значение.

На всякий случай, для просмотра уже открытых в системе портов, выполните следующую команду:

После модификации, участок файла конфигурации SSH должен выглядеть примерно так:

Что-бы SSH-сервер начал слушать новый порт вместо прежнего, его нужно перезапустить:

Соединение с SSH-сервером на альтернативном порту

Итак, теперь когда у нас есть SSH-сервер, слушающий альтернативный порт, как с ним соединяться? Если вы попытаетесь соединиться при помощи командной строки Linux, то по умолчанию SSH-клиент попытается использовать стандартный порт, и это приведёт к ошибке подключения:

Вместо этого вы должны передать SSH-клиенту номер порта значением параметра -p , примерно так:

Теперь соединение пройдёт успешно.

Если вы используете свободный SSH-клиент PuTTY, то укажите порт в настройках сессии, как показано на картинке:

Источник

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

Главное меню » Операционная система Linux » Как поменять порт SSH по умолчанию на Linux VPS

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

Прежде всего, войдите на сервер с помощью SSH в качестве пользователя root

Обратите внимание, что если SSH прослушивает порт по умолчанию 22, нет необходимости указывать порт. Когда порт будет изменен, вам нужно будет указать его при входе на сервер через SSH. Например, если SSH прослушивает порт 1012, мы можем войти на сервер с помощью следующей команды:

После того, как вы вошли в систему на VPS в качестве пользователя root, необходимо обновить установленные пакеты.
CentOS / Fedora

После того как система будет обновлена, откройте файл конфигурации SSH в вашем текстовом редакторе и найдите строки, которые определяет порт SSH.

Раскомментируйте соответствующую строку, удалив знак # и измените порт по умолчанию 22 на тот, который вы хотите использовать. В этой статье мы будем использовать порт 1012.

Сохранить изменения и выйдите.

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

Читайте также:  Denwer windows 10 это

Теперь перезапустите службу SSH для того, чтобы изменения вступили в силу.

После перезагрузки, SSH будет прослушивать порт 1012. Вы можете проверить это, выполнив следующую команду в терминале

По выходе команды Netstat, SSH-порт изменился, и теперь прослушивает порт 1012.

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

PS. Если вам понравился этот пост, пожалуйста поделитесь им с друзьями в социальных сетях помощью кнопок на левой стороне поста или просто оставить комментарий ниже. Благодарю.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Источник

Как поменять SSH порт в Linux

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

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

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

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

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

Найдите и закомментируйте строку начинающуюся с Port 22, путём добавления в начало строки знака #. Ниже добавьте новую строку и укажите в ней номер порта, на который хотите поменять стандартный.

В примере ниже показана настройка службы SSH для работы на порту 3335/TCP. Вы можете выбрать любое значение. Рекомендуется выбирать цифру больше 1024 (чтобы не попасть на стандартный порт используемый другой службой). Максимально возможная цифра – 65535.

Сохраните файл и перезапустите службу SSH, для того чтобы изменения вступили в силу.

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

В дистрибутивах на базе CentOS или RHEL нужно установить пакет policycoreutils и добавить несколько правил в систему безопасности SELinux. Затем перезапустить службу.

Также, не забудьте добавить правила для файрвола (если он у вас установлен), для того чтобы разрешить входящие подключения через новый порт SSH.

Источник

🔥 Как изменить SSH-порт в CentOS / RHEL 7/8 и Fedora с помощью SELinux

Шаг 1: Резервное копирование текущей конфигурации SSH

Войдите в систему CentOS / RHEL / Fedora и создайте резервную копию текущего файла конфигурации демона ssh.

Шаг 2: Измените порт службы SSH

Найдите строку, которая имеет:

Сохраните изменения и закройте файл.

Шаг 3: Разрешить новый SSH-порт в SELinux

Если вы хотите разрешить привязку sshd к настроенному сетевому порту, вам нужно изменить тип порта на ssh_port_t.

Шаг 4: Откройте порт SSH на Firewalld

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

Шаг 5: Перезапустите службу sshd

Перезапустите службу ssh, чтобы изменения вступили в силу.

Проверьте адрес прослушивания для SSH.

  • Аудит ИБ (44)
  • Вакансии (10)
  • Закрытие уязвимостей (98)
  • Книги (27)
  • Мануал (1 937)
  • Медиа (66)
  • Мероприятия (38)
  • Мошенники (22)
  • Обзоры (724)
  • Обход запретов (33)
  • Опросы (3)
  • Скрипты (106)
  • Статьи (292)
  • Философия (77)
  • Юмор (17)

Anything in here will be replaced on browsers that support the canvas element

Источник

Как настроить SSH-туннелирование (перенаправление портов)

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

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

Существует три типа переадресации портов SSH:

  • Перенаправление локального порта. — Перенаправляет соединение с клиентского хоста на хост-сервер SSH, а затем на порт хоста назначения.
  • Перенаправление удаленного порта. — Перенаправляет порт с хоста сервера на хост клиента, а затем на порт хоста назначения.
  • Динамическая переадресация портов. — Создает прокси-сервер SOCKS, который обеспечивает связь через ряд портов.
Читайте также:  Пакет plus для windows

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

Перенаправление локального порта

Перенаправление локального порта позволяет вам перенаправить порт на локальном (ssh-клиент) компьютере на порт на удаленном (ssh-сервере), который затем перенаправляется на порт на конечном компьютере.

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

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

В Linux, macOS и других системах Unix, чтобы создать переадресацию локального порта, передайте параметр -L клиенту ssh :

Используются следующие параметры:

  • [LOCAL_IP:]LOCAL_PORT — IP-адрес и номер порта локального компьютера. Если LOCAL_IP опущен, клиент ssh привязывается к локальному хосту.
  • DESTINATION:DESTINATION_PORT — IP или имя хоста и порт конечного компьютера.
  • [USER@]SERVER_IP — удаленный пользователь SSH и IP-адрес сервера.

В качестве LOCAL_PORT можно использовать любой порт с номером больше 1024 . Порты с номерами меньше 1024 являются привилегированными и могут использоваться только пользователем root. Если ваш SSH-сервер прослушивает порт, отличный от 22 (по умолчанию), используйте параметр -p [PORT_NUMBER] .

Имя хоста назначения должно разрешаться с сервера SSH.

Допустим, у вас есть сервер базы данных MySQL, работающий на машине db001.host во внутренней (частной) сети, на порте 3306, который доступен с машины pub001.host , и вы хотите подключиться к базе данных с помощью клиента MySQL на локальном компьютере. сервер. Для этого вы можете перенаправить соединение, используя следующую команду:

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

Теперь, если вы db001.host:3306 базы данных на pub001.host компьютере pub001.host 127.0.0.1:3336 , соединение будет перенаправлено на db001.host:3306 MySQL db001.host:3306 через компьютер pub001.host который действует как промежуточный сервер.

Вы можете перенаправить несколько портов в несколько пунктов назначения с помощью одной команды ssh. Например, у вас есть другой сервер базы данных MySQL, работающий на компьютере db002.host , и вы хотите подключиться к обоим серверам со своего локального клиента, вы должны запустить:

Чтобы подключиться ко второму серверу, вы должны использовать 127.0.0.1:3337 .

Когда целевой хост совпадает с SSH-сервером, вместо указания IP-адреса или имени хоста назначения вы можете использовать localhost .

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

Параметр -f указывает команде ssh работать в фоновом режиме, а -N не выполнять удаленную команду. Мы используем localhost потому что VNC и SSH-сервер работают на одном хосте.

Если у вас возникли проблемы с настройкой туннелирования, проверьте конфигурацию удаленного SSH-сервера и убедитесь, что для параметра AllowTcpForwarding не задано значение no . По умолчанию пересылка разрешена.

Перенаправление удаленного порта

Перенаправление удаленного порта противоположно перенаправлению локального порта. Это позволяет вам перенаправить порт на удаленном (ssh-сервере) компьютере на порт на локальном (ssh-клиент) компьютере, который затем перенаправляется на порт на конечном компьютере.

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

В Linux, macOS и других системах Unix для создания удаленного перенаправления портов передайте параметр -R клиенту ssh :

Читайте также:  Wireless wimax для windows 10

Используются следующие параметры:

  • [REMOTE:]REMOTE_PORT — IP-адрес и номер порта на удаленном SSH-сервере. Пустой REMOTE означает, что удаленный SSH-сервер будет связываться со всеми интерфейсами.
  • DESTINATION:DESTINATION_PORT — IP или имя хоста и порт конечного компьютера.
  • [USER@]SERVER_IP — удаленный пользователь SSH и IP-адрес сервера.

Удаленная переадресация портов в основном используется для предоставления доступа к внутренней службе кому-либо извне.

Допустим, вы разрабатываете веб-приложение на своем локальном компьютере и хотите показать его предварительный просмотр своему коллеге-разработчику. У вас нет общедоступного IP-адреса, поэтому другой разработчик не может получить доступ к приложению через Интернет.

Если у вас есть доступ к удаленному серверу SSH, вы можете настроить переадресацию удаленного порта следующим образом:

Приведенная выше команда заставит ssh-сервер прослушивать порт 8080 и туннелировать весь трафик с этого порта на ваш локальный компьютер через порт 3000 .

Теперь ваш коллега-разработчик может ввести the_ssh_server_ip:8080 в своем браузере и просмотреть ваше замечательное приложение.

Если у вас возникли проблемы с настройкой перенаправления удаленного порта, убедитесь, что для параметра GatewayPorts установлено значение « yes в конфигурации удаленного сервера SSH.

Динамическая переадресация портов

Динамическая переадресация портов позволяет создать сокет на локальном (ssh-клиентском) компьютере, который действует как прокси-сервер SOCKS. Когда клиент подключается к этому порту, соединение перенаправляется на удаленный компьютер (сервер ssh), который затем перенаправляется на динамический порт на конечном компьютере.

Таким образом, все приложения, использующие прокси-сервер SOCKS, будут подключаться к серверу SSH, и сервер будет перенаправлять весь трафик в его фактическое место назначения.

В Linux, macOS и других системах Unix для создания динамической переадресации портов (SOCKS) передайте параметр -D клиенту ssh :

Используются следующие параметры:

  • [LOCAL_IP:]LOCAL_PORT — IP-адрес и номер порта локального компьютера. Если LOCAL_IP опущен, клиент ssh привязывается к localhost.
  • [USER@]SERVER_IP — удаленный пользователь SSH и IP-адрес сервера.

Типичным примером динамической переадресации портов является туннелирование трафика веб-браузера через SSH-сервер.

Следующая команда создаст туннель SOCKS на порту 9090 :

После того, как туннелирование установлено, вы можете настроить свое приложение для его использования. В этой статье объясняется, как настроить Firefox и браузер Google Chrome для использования прокси-сервера SOCKS.

Перенаправление портов должно быть настроено отдельно для каждого приложения, которое вы хотите туннелировать трафик через него.

Настроить SSH-туннелирование в Windows

Пользователи Windows могут создавать туннели SSH с помощью клиента PuTTY SSH. Вы можете скачать PuTTY здесь .

Запустите Putty и введите IP-адрес SSH-сервера в поле Host name (or IP address) .

В меню « Connection разверните SSH и выберите « Tunnels . Установите переключатель Local для настройки локального, Remote для удаленного и Dynamic для динамической переадресации портов.

  • При настройке локальной переадресации введите локальный порт пересылки в поле « Source Port а в поле « Destination введите хост и IP-адрес назначения, например localhost:5901 .
  • Для перенаправления удаленного порта введите порт перенаправления удаленного SSH-сервера в поле Source Port а в поле Destination введите целевой хост и IP-адрес, например localhost:3000 .
  • При настройке динамической пересылки введите только локальный порт SOCKS в поле Source Port .

Нажмите кнопку « Add , как показано на изображении ниже.

Вернитесь на страницу Session чтобы сохранить настройки, чтобы не вводить их каждый раз. Введите имя сеанса в поле « Saved Session и нажмите кнопку « Save .

Выберите сохраненный сеанс и войдите на удаленный сервер, нажав кнопку « Open .

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

Настройка аутентификации с открытым ключом позволяет вам подключаться к вашему серверу без ввода пароля.

Выводы

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

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

Источник

Оцените статью