Назад | Перейти на главную страницу

Изменить порт SSH в VPS не удается войти

Я изменил порт SSHD на моем неуправляемом CentOS VPS на 0062, теперь я не могу войти по SSH и получаю сообщение об ошибке: Network error: connection refused.

Кто-нибудь знает, как попасть и исправить? И почему изменение порта на этот помешало мне подключиться?

Примечание: VPS размещается на внешнем сервере.

0062 можно интерпретировать как восьмеричное ... это порт 50. Попробуйте подключиться через порт 50. Я сомневаюсь, что это сработает, но попробовать стоит.

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

Если другие советы о брандмауэре и netstat -tulpen вывод вам не поможет, есть еще одна деталь, которая может ошибаться.

Если SELinux включен, он может заблокировать sshd доступ к портам, отличным от 22. Проверьте это с помощью

semanage port -l | grep ssh

Если это вернет только 22, вы можете добавить больше портов в правило sshd SELinux с помощью

semanage port -a -t ssh_port_t -p tcp 62

Многое могло произойти. На ум приходят несколько вещей:

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

Попробуйте подключиться через внеполосную консоль (если она у вас есть) и измените, что нужно изменить (брандмауэр, настройки, ...). Чтобы проверить, мешает ли вам ваш брандмауэр, остановите его ненадолго и посмотрите, сможете ли вы войти (service iptables stop)

Я также не уверен, что 0062 как порт. Вам может потребоваться поставить 62 вместо.

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

Сценарий действительно должен изменить порт на брандмауэре и в конфигурации для ssh:

sed -i 's/#HostKey \/etc\/ssh\/ssh_host_rsa_key/HostKey \/etc\/ssh\/ssh_host_rsa_key/g' /etc/ssh/sshd_config
sed -i 's/#HostKey \/etc\/ssh\/ssh_host_dsa_key/HostKey \/etc\/ssh\/ssh_host_dsa_key/g' /etc/ssh/sshd_config
sed -i 's/#PubkeyAuthentication/PubkeyAuthentication/g' /etc/ssh/sshd_config
sed -i 's/#RSAAuthentication/RSAAuthentication/g' /etc/ssh/sshd_config
sed -i 's/#AuthorizedKeysFile/AuthorizedKeysFile/g' /etc/ssh/sshd_config
sed -i 's/#IgnoreRhosts yes/IgnoreRhosts yes/g' /etc/ssh/sshd_config
sed -i 's/#PermitEmptyPasswords no/PermitEmptyPasswords no/g' /etc/ssh/sshd_config

/usr/sbin/sshd -t

service sshd restart

iptables -I INPUT -p tcp --dport $PORTNUM -j ACCEPT

service iptables restart

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

Вы указали порт при подключении к нему через ssh?

ssh -p 62 user@example.com

ssh по умолчанию ожидает подключения к порту 22, и если вы его изменили, вам необходимо сообщить об этом своим приложениям.