追踪连续第 8 次 ssh 连接被拒绝的原因

追踪连续第 8 次 ssh 连接被拒绝的原因

我正在使用代码部署服务,该服务连接到我的服务器并执行命令。它连接、运行一些命令、断开连接并重复。

在同一部署中,我总是在第 8 次连接时收到拒绝连接的消息。

从服务本身来看,我所能看到的是ssh: connect to host xxx port 22: Connection refused

我只看到连接和断开连接/var/log/auth.log——没有连接被拒绝错误。

作为参考,这是我所看到的auth.log

Accepted publickey for envoyer from 159.203.66.107 port 50177 ssh2: RSA
...
Received disconnect from 159.203.66.107 port 50177:11: disconnected by user
Disconnected from 159.203.66.107 port 50177
pam_unix(sshd:session): session closed for user envoyer
Removed session 5996.
... repeated

我如何才能知道它拒绝连接的原因?

我正在使用 DigitalOcean LAMP 服务器。

答案1

我遇到了类似的问题,请检查你的 IPtables(iptables -L)并查看是否有一hitcount组类似于此的内容(第二行):

Chain INPUT_direct (1 references)
target     prot opt source               destination
           tcp  --  anywhere             anywhere             tcp dpt:ssh state NEW recent: SET name: DEFAULT side: source mask: 255.255.255.255
REJECT     tcp  --  anywhere             anywhere             tcp dpt:ssh state NEW recent: UPDATE seconds: 30 hit_count: 4 name: DEFAULT side: source mask: 255.255.255.255 reject-with tcp-reset

关键参数是hit_count,也看一下UPDATE。

就我的情况来说,我尝试了 3 次之后都被拒绝了,而且日志中也没有任何内容。

答案2

在具有 Docker 镜像的 Digital Ocean 服务器上,我们也遇到了同样的问题。

在日志中清楚显示为:

$ sudo grep UFW /var/logs ... Sep 11 08:29:21 <hostname> kernel: [5334027.195168] [UFW LIMIT BLOCK] IN=eth0 OUT= MAC=96:38:e8:52:00:e7:f4:a7:39:d7:82:7d:08:00 SRC=xx.xx.xx.xx DST=xx.xx.xx.xx LEN=60 TOS=0x00 PREC=0x00 TTL=54 ID=30729 DF PROTO=TCP SPT=53180 DPT=22 WINDOW=29200 RES=0x00 CWR ECE SYN URGP=0

看起来服务器设置了以下功能:

ufw limit ssh

如下所述https://www.cyberciti.biz/faq/howto-limiting-ssh-connections-with-ufw-on-ubuntu-debian/

由于我们只使用 ssh 密钥而不使用密码,因此我们的解决方法是将 LIMIT 规则更改为 ALLOW 规则。

root@hostname:/var/log# sudo ufw status Status: active To Action From -- ------ ---- 22 LIMIT Anywhere
... root@hostname:/var/log# sudo ufw allow ssh Rule updated Rule updated (v6) root@hostname:/var/log# sudo ufw status Status: active To Action From -- ------ ---- 22 ALLOW Anywhere

相关内容