Ssh

ssh 密鑰身份驗證 - 涉及 22 以外的埠

  • December 9, 2014

我已經註意到這個條目auth.log

*ip_address*從埠 51150 ssh2接受 myuser 的公鑰

該條目對應於我的基於 ssh-key 的登錄事件。SSH 正在偵聽預設埠 - 22。

記錄埠 51150 的作用是什麼,這是否意味著我不能使用限制性 iptables 設置來阻止所有流量傳入我之前指定的埠以外的埠(如 20、21、25、80、443、143 …)

顯示的埠號是臨時客戶端埠號,對應於SSH 伺服器看到的**源埠。**伺服器端,所有ssh 連接都到埠 22。

這是我進入我的彩色伺服器,並確認相關文件ssh中列出的埠: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

是否需要為每個新客戶進行更改-這就是為什麼您必鬚髮瘋才能這樣做,而沒有人這樣做。

引用自:https://serverfault.com/questions/650227