Linux

Linux 阻止埠轉發連接到 SSH 服務

  • November 28, 2019

我正在嘗試從我的網路(Internet)外部連接到我的電腦的 SSH 服務。路由器是 Sagemcom 5655。在路由器中,我配置了埠轉發,就像我以前做過很多次一樣,但這一次不起作用。

協議:TCP 外部埠:9092 轉發到內部埠:22 內部地址:192.168.1.141

SSH 伺服器正在工作,我幾乎每天都在本地網路上使用它。但是當我嘗試從外部連接時,什麼也沒有發生。

這就是我連接到伺服器的方式:my-user@internet-address -p 9092

我唯一看到的是我不明白的*/var/log/audit/audit.log中的日誌:*

type=CRYPTO_KEY_USER msg=audit(1574265360.622:648): pid=6212 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:sshd_t:s0-s0:c0.c1023 msg='op=destroy kind=server fp=SHA256:eb:31:df:3b:11:5f:0f:b8:ae:5a:84:65:58:4b:b1:83:48:d8:9a:d3:d6:1c:42:45:d3:9e:2a:3f:75:79:e6:7b direction=? spid=6212 suid=0  exe="/usr/sbin/sshd" hostname=? addr=? terminal=? res=success'UID="root" AUID="unset" SUID="root"
type=CRYPTO_KEY_USER msg=audit(1574265360.622:649): pid=6212 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:sshd_t:s0-s0:c0.c1023 msg='op=destroy kind=server fp=SHA256:25:0f:2c:39:d4:e0:e1:31:fa:cf:4a:2c:4d:1c:91:17:05:b2:94:5c:00:75:6e:28:76:3c:0d:18:48:a3:a3:93 direction=? spid=6212 suid=0  exe="/usr/sbin/sshd" hostname=? addr=? terminal=? res=success'UID="root" AUID="unset" SUID="root"
type=CRYPTO_KEY_USER msg=audit(1574265360.622:650): pid=6212 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:sshd_t:s0-s0:c0.c1023 msg='op=destroy kind=server fp=SHA256:17:2e:8f:02:82:78:ac:ed:eb:06:dd:93:6c:1a:a2:bc:4d:74:ee:c0:18:c1:23:39:5c:e1:a1:0d:04:9a:b6:98 direction=? spid=6212 suid=0  exe="/usr/sbin/sshd" hostname=? addr=? terminal=? res=success'UID="root" AUID="unset" SUID="root"

我的 Fedora 機器上的 SE Linux 之類的東西是否有可能阻止連接?

我檢查了*/etc/ssh/sshd_config*並沒有什麼奇怪的。另外,我正在嘗試與普通使用者而不是root 連接。

這是iptables -nvL INPUT的輸出

pkts bytes target     prot opt in     out     source               destination         
21396   14M LIBVIRT_INP  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
16280   14M ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            ctstate RELATED,ESTABLISHED
 181 12188 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0           
4935  271K INPUT_direct  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
4935  271K INPUT_ZONES  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
  13   520 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0            ctstate INVALID
1582 80252 REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            reject-with icmp-host-prohibited

當我進入路由器的管理系統時,我可以看到“公共 IP 地址”為 200.80..* 只是我隱藏的數字,而不是萬用字元!)。我還看到我的路由器配置為回复 PING。但是當我 ping 或埠掃描該 IP 時,什麼也沒發生。

我還測試了從外部連接,將我的筆記型電腦從手機的網際網路連接連接到 4G。結果相同。

謝謝!

最後,我閱讀了有關CG-NAT 的資訊,結果我的 ISP 使用了該技術。我打電話給 ISP 並要求提供公共 IP 地址,24 小時後一切正常。

感謝您提供的所有幫助!

嘗試在端點上將您的sshd程序置於 VERBOSE 日誌記錄模式(例如:LogLevel VERBOSE在*/etc/ssh/sshd_config中),然後查看/var/log/auth.log*(對於 Ubuntu——Redhat 衍生文件可能是不同的文件)。這應該指向任何涉及授權密鑰文件的公鑰錯誤、協議、密碼或文件/目錄權限錯誤。

其次,在端點上,安裝tcpdump並讓它偵聽埠 22(或您擁有守護程序的任何埠)上的 ssh 流量,如下所示tcpdump -nn -s0 -A port 22:無論防火牆或 SELinux 問題如何,這都會告訴您連接到該埠的內容。

嘗試連接。這兩部分應該讓你知道問題出在哪裡。如果tcpdump是安靜的,則您的路由器沒有正確轉發連接,或者中間有另一個躍點阻塞了連接。

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