端口 22:尝试 ssh 时连接被拒绝

Port 22: Connection Refused when you attempt to ssh in

在 Centos 7 上,我遇到以下错误:

ssh -vvv ##.###.###.###
OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011
debug1: Reading configuration data /etc/ssh_config
debug1: /etc/ssh_config line 20: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to ##.###.###.### [##.###.###.###] port 22.
debug1: connect to address ##.###.###.### port 22: Connection refused
ssh: connect to host ##.###.###.### port 22: Connection refused
pool-100-1-1-25:~ studiolaptop1$ ssh -vvv ##.###.###.###

奇怪的是,当我尝试通过 ssh 连接到我的服务器时,这个问题已经出现一段时间了。我检查过 iptables 看起来一切正常。检查了 ssh.config 文件,看起来也很好,但显然有问题。我该如何解决?

如果连接被拒绝,则表示 sshd daemon/server 不是 运行。您可以在本地或通过控制台登录服务器吗?

在目标服务器上以 root 身份尝试运行以下操作:

lsof -i :22

或者在源服务器上,查看是否可以连接到ssh端口:

telnet targethost 22

您应该得到如下内容:

# telnet localhost 22
Trying ::1...
Connected to localhost.
Escape character is '^]'.
SSH-2.0-OpenSSH_6.9

从 firewallD 切换到 iptables 导致了这个问题。因此,需要在iptable中添加相关规则以允许端口22上的出站和入站连接。