George Reith Asked: 2012-05-09 04:21:39 +0800 CST2012-05-09 04:21:39 +0800 CST 2012-05-09 04:21:39 +0800 CST VPS中更改SSHD端口无法登录 772 我将非托管 CentOS VPS 上的 SSHD 端口更改为0062,现在我无法通过 SSH 登录并收到错误:Network error: connection refused。 有谁知道如何进入并解决这个问题?为什么将端口更改为此会阻止我连接? 注意:VPS 是在外部托管的 centos ssh vps 4 个回答 Voted Grant 2012-05-09T04:36:53+08:002012-05-09T04:36:53+08:00 0062 可以解释为八进制...这将是端口 50。尝试在端口 50 上连接。我怀疑它是否有效,但值得一试。 VPS 由谁托管?它们中的大多数为您提供了一个不通过 SSH 连接的 Web 控制台,或者至少提供了一种从救援 CD 引导系统的方法,您可以在其中进入并更改配置文件。 Best Answer Bart De Vos 2012-05-09T04:26:35+08:002012-05-09T04:26:35+08:00 可能发生了很多事情。我想到了几件事: 您的防火墙仍在阻止连接。 另一个服务正在端口 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可能已经阻止了他们中的一个或两个。请先尝试重新进入您的机器。 Janne Pikkarainen 2012-05-09T04:44:50+08:002012-05-09T04:44:50+08:00 如果其他人关于防火墙和netstat -tulpen输出的提示对您没有帮助,那么还有一个细节可能是错误的。 如果启用了 SELinux,它可以阻止 sshd 访问 22 以外的端口。检查一下 semanage port -l | grep ssh 如果只返回 22,您可以将更多端口添加到 SELinux sshd 规则 semanage port -a -t ssh_port_t -p tcp 62 Sven 2012-05-09T04:25:40+08:002012-05-09T04:25:40+08:00 通过连接到它时是否指定了端口ssh? ssh -p 62 [email protected] ssh默认情况下期望连接到端口 22,如果你更改了它,你需要告诉你的应用程序。
0062 可以解释为八进制...这将是端口 50。尝试在端口 50 上连接。我怀疑它是否有效,但值得一试。
VPS 由谁托管?它们中的大多数为您提供了一个不通过 SSH 连接的 Web 控制台,或者至少提供了一种从救援 CD 引导系统的方法,您可以在其中进入并更改配置文件。
可能发生了很多事情。我想到了几件事:
尝试通过带外控制台(如果有的话)连接并更改需要更改的内容(防火墙、设置等)。要测试你的防火墙是否在窃听你,请停止它一会儿,看看你是否可以进入 (
service iptables stop
)我也不确定是否将
0062
其作为端口。您可能需要改为放置62
。如果您无法进入带外,请让您的提供商查看。否则,您将不得不重新映像机器。
该脚本确实应该更改防火墙上的端口和 ssh 配置中的端口:
然而,
0062
可能已经阻止了他们中的一个或两个。请先尝试重新进入您的机器。如果其他人关于防火墙和
netstat -tulpen
输出的提示对您没有帮助,那么还有一个细节可能是错误的。如果启用了 SELinux,它可以阻止 sshd 访问 22 以外的端口。检查一下
如果只返回 22,您可以将更多端口添加到 SELinux sshd 规则
通过连接到它时是否指定了端口
ssh
?ssh
默认情况下期望连接到端口 22,如果你更改了它,你需要告诉你的应用程序。