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守护程序)并运行…
造成这种情况的最常见问题之一是sshd服务本身。 你检查它是否真的在运行吗? 另外,我注意到你正在直接编辑你的iptables,所以如果你有ufw / firewalld运行 – 不妨检查一下。
还要确保ssh服务器正在运行正确的IP,并且FQDN正在路由到正确的IP地址。
由于以下原因,SSH连接被拒绝 –
-
默认端口(22)已更改为其他内容。 检查/ etc / ssh / sshd_config文件中是否有任何端口更改。
-
局域网上的IP冲突。 使用arping命令确定任何冲突。 看你的dhcp池。
-
ip-tables / firewall上不允许使用ssh端口。 检查你的iptables /防火墙并允许。
*卸载/重新安装ssh包不是一个好主意,因为它会更改许多密钥并通过。