ssh 密钥认证 - 涉及 22 以外的端口

ssh 密钥认证 - 涉及 22 以外的端口

我已在auth.log

接受来自以下用户的公钥:ip_address端口 51150 ssh2

该条目与我的基于 ssh-key 的登录事件相对应。SSH 正在监听默认端口 - 22。

记录的端口 51150 的作用是什么?这是否意味着我不能使用限制性 iptables 设置来阻止除我之前指定的端口之外的所有传入流量(如 20、21、25、80、443、143......)

答案1

显示的端口号是临时的客户端端口号,对应于来源SSH 服务器看到的端口。服务器端,全部ssh 连接至端口 22。

这是我ssh进入我的 colo'ed 服务器,并确认相关文件中列出的端口syslog

odessa% ssh www.teaparty.net
[...]
[me@lory ~]$ tail -2 /var/log/facility/authpriv 
Dec  9 12:36:26 lory sshd[16793]: Accepted publickey for me from 78.46.204.154 port 58212 ssh2
Dec  9 12:36:27 lory sshd[16793]: pam_unix(sshd:session): session opened for user me by (uid=0)

以下是客户显示连接:

odessa% netstat -an|grep 22|grep 58212
tcp        0      0 78.46.204.154:58212         178.18.123.145:22           ESTABLISHED 

如您所见,服务器端的端口号为 22,正如预期的那样。它是客户端端口号为 58212。Miloshio,因为大多数iptables允许访问服务的规则看起来像

iptables -A INPUT -p tcp --dport 22 -j ACCEPT

它们不受客户端之间源端口号变化的影响,因为它们只关心目的地端口号。只有当你编写如下规则时

iptables -A INPUT -p tcp --dport 22 --sport 58212 -j ACCEPT

它是否需要为每个新客户进行更改 - 这就是为什么你必须疯了才会这样做,但没有人会这样做。

相关内容