![本地网络上的 SSH 连接问题](https://linux22.com/image/865767/%E6%9C%AC%E5%9C%B0%E7%BD%91%E7%BB%9C%E4%B8%8A%E7%9A%84%20SSH%20%E8%BF%9E%E6%8E%A5%E9%97%AE%E9%A2%98.png)
我的 Web 服务器上的 SSH 出现问题。我尝试通过 SSH 进入服务器,该服务器与我连接的计算机位于同一网络上。我收到错误:
ssh_exchange_identification: read: Connection reset by peer
但是,当我激活代理软件,通过网络外的源路由我的流量时,我能够完美连接。这是我的防火墙配置:
# Generated by iptables-save v1.4.18 on Tue Dec 31 15:25:01 2013
*filter
:INPUT DROP [416:67311]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [11183:3738813]
:INBOUND - [0:0]
:LOG_FILTER - [0:0]
:LSI - [0:0]
:LSO - [0:0]
:OUTBOUND - [0:0]
-A INPUT -p icmp -m icmp --icmp-type 11 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 4 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 3 -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 21 -j ACCEPT
-A INPUT -i eth0 -p udp -m udp --dport 21 -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 20 -j ACCEPT
-A INPUT -i eth0 -p udp -m udp --dport 20 -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 443 -j ACCEPT
COMMIT
# Completed on Tue Dec 31 15:25:01 2013
# Generated by iptables-save v1.4.18 on Tue Dec 31 15:25:01 2013
*mangle
:PREROUTING ACCEPT [10663:6982022]
:INPUT ACCEPT [10636:6980454]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [11183:3738813]
:POSTROUTING ACCEPT [11192:3739401]
COMMIT
# Completed on Tue Dec 31 15:25:01 2013
# Generated by iptables-save v1.4.18 on Tue Dec 31 15:25:01 2013
*nat
:PREROUTING ACCEPT [510:72807]
:INPUT ACCEPT [76:4516]
:OUTPUT ACCEPT [1160:71212]
:POSTROUTING ACCEPT [1160:71212]
COMMIT
# Completed on Tue Dec 31 15:25:01 2013
ssh -v 用户@服务器
Anthonys-MBP-3:~ acagliano$ ssh [email protected] -v
OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011
debug1: Reading configuration data /Users/acagliano/.ssh/config
debug1: Reading configuration data /etc/ssh_config
debug1: /etc/ssh_config line 20: Applying options for *
debug1: /etc/ssh_config line 102: Applying options for *
debug1: Connecting to a.rockinwebs.tk [108.6.142.81] port 22.
debug1: Connection established.
debug1: identity file /Users/acagliano/.ssh/id_rsa type 1
debug1: identity file /Users/acagliano/.ssh/id_rsa-cert type -1
debug1: identity file /Users/acagliano/.ssh/id_dsa type -1
debug1: identity file /Users/acagliano/.ssh/id_dsa-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.2
ssh_exchange_identification: read: Connection reset by peer
/var/log/auth.log
Dec 4 00:57:06 acagliano-Satellite-C55-A sshd[23894]: Invalid user admin from 95.110.203.71
Dec 4 00:57:06 acagliano-Satellite-C55-A sshd[23894]: input_userauth_request: invalid user admin [preauth]
Dec 4 00:57:06 acagliano-Satellite-C55-A sshd[23894]: error: Could not get shadow information for NOUSER
Dec 4 00:57:06 acagliano-Satellite-C55-A sshd[23894]: Failed password for invalid user admin from 95.110.203.71 port 44174 ssh2
如果我没看错日志,那是一次入侵尝试吗?SSH 甚至没有在该端口上运行。
有人可以给我建议吗?
答案1
好的,在帮助下,我解决了自己的问题。
首先,出于我不知道的原因,尝试通过 ssh 进入与客户端位于同一网络上的服务器会导致“对等重置”问题。这就是为什么使用代理或使用服务器的本地 IP(192.168.1.4)可以解决问题的原因。
其次,为了解决有人试图猜测我的密码的问题(我似乎在我的日志中看到了证据),我改为公钥/私钥身份验证,只给我自己 ssh 访问权限,并将 git 简化为 git-shell 以确保安全。我还升级了我的 iptables 规则,在一段时间内尝试一定次数后开始断开与 SSH 的连接。
至此,问题已解决。谢谢大家。
答案2
您不太可能遇到防火墙问题。“连接重置”意味着连接已建立,但服务器不喜欢其配置或客户端。
要验证是否是这种情况,请致电ssh -v user@server
。如果看到debug1: Connection established.
,则说明您的防火墙规则没有问题,您应该将注意力集中在 ssh 守护程序上。
检查您的 sshd 日志(最有可能是文件/var/log/auth.log
)以查找有关正在发生的事情的线索。如果没有明显的线索,并且您可以编辑文件,/etc/ssh/sshd_config
将 LogLevel 设置为 VERBOSE 或 DEBUG,然后重新启动 sshd 并重试。