我正在嘗試尋找一種方法來驗證配置後SSH 本地連接埠轉送規則存在且正確。我使用以下命令來建立轉發條目:
> OPTS="-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o ExitOnForwardFailure=yes
> nohup ssh $OPTS -N -g -L 65001:192.168.15.159:8080 localhost &
一旦返回,轉發規則應該正在運行並且可供使用。我找到了使用兩者netstat
並lsof
顯示連接埠當前狀態的建議,但是除了「本機連接埠已開啟並正在偵聽」之外,這些都不會向我顯示任何內容。我想要得到的是目標位址:連接埠是什麼的確認。
lwobker@lwobker-vms:~$ sudo netstat -tplnd | grep 65001
tcp 0 0 0.0.0.0:65001 0.0.0.0:* LISTEN 29076/ssh
tcp6 0 0 :::65001 :::* LISTEN 29076/ssh
### or...
lwobker@lwobker-vms:~$ lsof -i tcp | grep 65001
ssh 29076 lwobker 4u IPv4 13036241 0t0 TCP *:65001 (LISTEN)
ssh 29076 lwobker 5u IPv6 13036242 0t0 TCP *:65001 (LISTEN)
### shows port up and listening and PID, but not the destination/mapped port
連接埠轉送需要已對應的主機:連接埠狀態才能完成其工作,因此該資訊必須位於某處...;-)