SSH密钥authentication – 涉及22以外的端口

我在auth.log注意到了这个条目

ip_address端口51150 ssh2接受公钥myuser

该条目对应于我的基于ssh-key的login事件。 SSH正在侦听默认端口 – 22。

logging的端口51150的作用是什么,这是否意味着我不能使用限制性的iptables设置,阻止所有stream量传入到端口,而不是我以前指定的(如20,21,25,80,443,143 …)

显示的端口号是临时的客户端端口号,对应于SSH服务器所看到的端口。 在服务器端, 所有的 ssh连接到端口22。

以下是我的着色服务器,并确认相关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 

是否需要为每个新客户改变 – 这就是为什么你必须疯狂才能做到这一点,没有人会这样做。