Networking

如果我轉發埠 22,我還能 ssh 到我的伺服器嗎?

  • June 5, 2017

如果我將sshuttle設置為“轉發”

myserver:~$ sshuttle -r username@TARGET 0.0.0.0/0

我還能從 ssh 進入myservermymachine?我想不會,但我不敢嘗試。


或者,如果我只轉發埠22

myserver:~$ ssh -nNT -L 0.0.0.0:22:localhost:22 TARGET

有沒有辦法 ssh 進入myserver?或者如果你想這樣做,你需要為 ssh 打開額外的埠?

ssh someserver -R 10022:127.0.0.1:22 -fN將允許您直接在埠 22 和someserver埠 10022 上 ssh 到您的電腦,這將引導您到埠 22 上的伺服器。

之所以如此,是因為守護程序一直在偵聽它配置為偵聽的埠,並且因為它可以同時維護多個 ssh 會話(當然假設您沒有在sshd_config.

再看一眼,您似乎正在嘗試使用為您的伺服器“ myserver”中的客戶端設計的這些工具。我的回答涵蓋了您在客戶端上使用它們的情況,“ mymachine”。

sshuttle項目的文件似乎相當不正統:即使它是如何工作的文章也只講述了它的作用。它將項目與其他工具進行比較,主要是通過說明它是如何工作的:它不是“像”一個 SSH 埠轉發,但它也不是“像”一個“愚蠢/複雜的 VPN”。顯然作者似乎認為他發明了一些全新的東西,當然比以前任何人都好。

根據對文件(需求用法)的簡短閱讀,我們可以看出它是

  • 可以使用(NAT) 或(TPROXY)將所有流量代理到另一端iptables``recmsg
  • 不需要遠端伺服器上的管理員訪問權限,但客戶端電腦上的 root 訪問權限
  • 在兩端都使用 Python。

基於此,到遠端端的 SSH 也可能會被代理,但這無關緊要,因為您可能可以使用外部 IP 地址**ssh從遠端伺服器到自身;**它從隧道的哪一側發起連接沒有任何區別。

我不知道你想用你的替代解決方案做什麼,因為它甚至沒有試圖達到與第一個相同的結果。22但是,除非您是 root 並且還沒有監聽,否則您無法綁定到本地埠sshd。即使你成功了,我也看不出這會增加什麼有用的東西。但是,要回答這個問題:是的,您仍然ssh可以remote:22(+ 本地埠轉發)。

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