ssh连接被拒绝了

嗨,我的ssh有问题,这是神奇地停止工作,我无法弄清楚为什么。 它给出的信息是:

ssh: connect to host  port 22: Connection refused 

我写dmesg时没有看到任何错误消息,但是我从telnet localhost 22得到了关注

 Trying 127.0.0.1... telnet: Unable to connect to remote host: Connection refused 

我尝试了在一些类似案例[1]和[2]中看到的解决方案,但它仍然没有解决我的问题,条目和输出如下:

 >> sudo iptables -A INPUT -p tcp --dport ssh -j ACCEPT >> sudo iptables -L Chain INPUT (policy ACCEPT) target prot opt source destination ACCEPT tcp -- anywhere anywhere tcp dpt:ssh Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination 

请注意,这已经是ACCEPT我甚至在输入命令sudo iptables -A INPUT -p tcp --dport ssh -j ACCEPT之前没有任何问题。 我也尝试重新启动ssh但它没有改变任何东西

 >>netstat -a | egrep 'Proto|LISTEN' Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 localhost:20128 *:* LISTEN tcp 0 0 localhost:17600 *:* LISTEN tcp 0 0 localhost:20129 *:* LISTEN tcp 0 0 localhost:17603 *:* LISTEN tcp 0 0 localhost:21128 *:* LISTEN tcp 0 0 deathstar:domain *:* LISTEN tcp 0 0 localhost:ipp *:* LISTEN tcp 0 0 *:db-lsp *:* LISTEN tcp6 0 0 ip6-localhost:ipp [::]:* LISTEN tcp6 0 0 [::]:db-lsp [::]:* LISTEN 

我不知道还有什么可以尝试,所以希望这足以解决问题。

在@Ashu的评论之后添加rest

 sudo lsof -i | grep ssh 

没啥事儿

 >>netstat -l --numeric-ports | grep 22 unix 2 [ ACC ] STREAM LISTENING 1618183 @jack-com.canonical.Unity.Master.Scope.files.T1731348652205882 >>sudo iptables --list Chain INPUT (policy ACCEPT) target prot opt source destination ACCEPT tcp -- anywhere anywhere tcp dpt:ssh Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination 

在@ TheSchwa的评论之后编辑

 >>ps aux | grep sshd jack 3711 0.0 0.0 15944 2220 pts/26 S+ 14:08 0:00 grep --color=auto sshd 

我首先尝试删除并重新安装ssh但它对我不起作用然后我试图清除它:

 sudo apt-get purge openssh-server sudo apt-get install openssh-server 

所以现在它的工作。

TCP错误“连接被拒绝”表示此IP地址上有一个活动主机,但您尝试连接的端口(ssh为22)未打开。

首先仔细检查您的主机名和/或IP地址。

最可能的原因是有人停止了ssh守护进程或有人将其配置为使用替代端口而不是默认端口22。

如果您具有对服务器的物理访问权限,则登录到该服务器并输入命令sudo netstat -tupan 。 理想情况下,您应该看到如下行:

tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1053/sshd

如果您不尝试启动sshd和/或检查它是否配置为侦听端口22。

编辑

要关注的是:

:22 – 22号港口

LISTEN – 有一个进程在运行并期望端口22上的传入连接

sshd – 进程的名称。

如果你看不到那样的行,那么你的ssh服务器可能配置不当而无法启动。 试试这个页面 ,了解如何在前台运行它并对其进行故障排除。

您的服务器防火墙配置为打开端口,但没有任何内容正在侦听您的连接。

您需要安装sshd(ssh守护程序)并运行…

https://help.ubuntu.com/community/SSH/OpenSSH/Configuring

造成这种情况的最常见问题之一是sshd服务本身。 你检查它是否真的在运行吗? 另外,我注意到你正在直接编辑你的iptables,所以如果你有ufw / firewalld运行 – 不妨检查一下。

还要确保ssh服务器正在运行正确的IP,并且FQDN正在路由到正确的IP地址。

由于以下原因,SSH连接被拒绝 –

  1. 默认端口(22)已更改为其他内容。 检查/ etc / ssh / sshd_config文件中是否有任何端口更改。

  2. 局域网上的IP冲突。 使用arping命令确定任何冲突。 看你的dhcp池。

  3. ip-tables / firewall上不允许使用ssh端口。 检查你的iptables /防火墙并允许。

*卸载/重新安装ssh包不是一个好主意,因为它会更改许多密钥并通过。