我现在有两台 Linux 服务器在运行。当我尝试从油灰。
- 端口 22 被转发至我正在使用的 SSH 服务器。
- 端口 911 已转发给我无法正常工作的 SSH 服务器
我无法使用内部 IP 地址或外部 IP 地址连接到第二台服务器。尝试连接到内部时,我从 PuTTY 收到此消息:
网络错误:连接被拒绝。
当我尝试使用外部 IP 地址时它就会超时。
下面列出了两个服务器的IP地址和其他信息。
工作服务器:
IP:253.68.xxx.xx:22
<-端口22正在我的路由器上转发
不工作的服务器:
IP:192.168.1.222:911
<-端口911正在转发
或
IP:253.68.xx.xx:911
我查看了其他人针对此问题发布的几篇帖子,他们给出了不同的建议。有些人建议编辑该/etc/ssh/sshd_config
文件,而其他人则建议不要这样做。
答案1
/var/log/auth 中的错误消息表明 ssh 的安装未正确完成。主机密钥不存在,如果没有主机密钥,ssh 就无法启动用户身份验证。
您没有提到 Linux 的风格(redhat、debian、gentoo),并且每个风格都有不同的重新安装 sshd 的命令结构。
我的建议是卸载 Linux 上的 sshd 守护程序,然后重新安装,然后再试一次。如果您再次收到主机密钥错误,那么您的发行版可能要求您手动创建这些密钥。请参阅 sshd 的自述文件,它应该会为您提供指导。
答案2
假设 SSH 服务器正在监听您非工作服务器的 911 端口 (192.168.1.222:911):
可能是该计算机上的防火墙阻止了该端口 (911) 上的任何传入连接。要解决此问题,您需要更新防火墙以允许端口 911 上的传入 TCP 连接。
答案3
您必须配置 SSH 来监听该端口。仅在路由器上转发端口并不能实现这一点。
在有问题的机器上,将/etc/ssh/sshd_config
文件更改为
Port 911
使用以下设置启用 SSH 密码:
PasswordAuthentication yes
重新启动SSH服务即可生效。
答案4
我从网络中移除了正在工作的服务器,并将不工作的服务器配置为监听端口 22,并在路由器上转发该服务器的端口,但这并没有什么区别。
又花了几个小时后,我发现了这篇文章:https://askubuntu.com/questions/205179/ssh-problem-read-from-socket-failed-connection-reset-by-peer它帮助我通过以下命令解决了该问题。
sudo apt-get --reinstall install openssh-server openssh-client
重新连接网络上的两台服务器后,我可以通过 SSH68.253.xx.xx:22
连接到第一台服务器,也可以通过 SSH68.253.xx.xx:911
连接到第二台服务器。