我不知道我在這裏做什麼,所以請記住,如果你能幫助我!通過代理連接SSH
我想通過代理連接到我的虛擬服務器,但無法連接,它只是掛起。我假設這是因爲它沒有通過我們的代理。
我在家裏嘗試過完全一樣的東西,它完美的作品。我在使用終端連接的OSX上運行。
任何人都可以告訴我如何通過代理與SSH?
我不知道我在這裏做什麼,所以請記住,如果你能幫助我!通過代理連接SSH
我想通過代理連接到我的虛擬服務器,但無法連接,它只是掛起。我假設這是因爲它沒有通過我們的代理。
我在家裏嘗試過完全一樣的東西,它完美的作品。我在使用終端連接的OSX上運行。
任何人都可以告訴我如何通過代理與SSH?
如果您的SSH代理連接經常使用,您不必每次都將它們作爲參數傳遞。您可以添加以下行到~/.ssh/config
Host foobar.example.com
ProxyCommand nc -X connect -x proxyhost:proxyport %h %p
ServerAliveInterval 10
然後連接使用
ssh foobar.example.com
來源:
http://www.perkin.org.uk/posts/ssh-via-http-proxy-in-osx.html
我試過,但沒有工作。請注意,我並不完全確定需要放入什麼內容,但它的內容類似Host 159.23.191.23 ProxyCommand nc -x connect -x 10.3.50.01:22%h%p ServerAliveInterval。是對的嗎? – bencarter78
我只是想補充一點,這個解決方案對我來說確實很完美。我目前的工作場所部署HTTP代理,並且我簡單地用IP代替'proxyhost'(不添加模式!)和'proxyport' - 在這種情況下 - 8080. – Pit
這個答案只能告訴別人你可以使用的命令傳遞已經(或可以被定義)在它的配置文件中,但是你沒有明確地寫它到一個文件。您可以將參數傳遞給ssh connect命令。 – erm3nda
這裏是如何做到理查德·克里斯滕森的回答作爲一個內膽,無需編輯文件(用您自己的設置替換大寫,PROXYPORT經常是80):
ssh [email protected]_DEST -o "ProxyCommand=nc -X connect -x PROXYHOST:PROXYPORT %h %p"
您可以使用SCP一樣-o ...
選項爲好,看到https://superuser.com/a/752621/39364
如果你得到這個在OS X:
nc: invalid option -- X
Try `nc --help' for more information.
它可能是你不小心使用自制netcat版本(你可以通過執行which -a nc
命令 - /usr/bin/nc
應該首先列出)。如果有兩個,那麼一種方法是指定您想要的NC的完整路徑,如ProxyCommand=/usr/bin/nc
...
我使用arch linux和gnu-netcat,'nc:invalid選項 - X'仍然存在。解決這個問題的方法是用openbsd-netcat替換gnu-netcat。有關詳細信息,請參閱https://pagekite.net/wiki/Howto/SshOverPageKite/#wrongnetcat。這兩個版本可能相互衝突。 – Han
這很好,應該是被接受的答案。 – gladed
有一點點話題,但也可以通過這個連接打開一個隧道(刪除所有'<' and '>'並保持原樣'localhost'):ssh -l <final_destination_user> -L
@rogerdpack 爲Windows平臺它是真的很難找到-X(HTTP_PROXY)一個nc.exe,但是,我發現NC可以通過NCAT更換,完整的例子如下:
Host github.com
HostName github.com
#ProxyCommand nc -X connect -x 127.0.0.1:1080 %h %p
ProxyCommand ncat --proxy 127.0.0.1:1080 %h %p
User git
Port 22
IdentityFile D:\Users\Administrator\.ssh\github_key
和NCAT與--proxy可以做一個完美的作品
$ which nc
/bin/nc
$ rpm -qf /bin/nc
nmap-ncat-7.40-7.fc26.x86_64
$ ssh -o "ProxyCommand nc --proxy <addr[:port]> %h %p" [email protected]
$ ssh -o "ProxyCommand nc --proxy <addr[:port]> --proxy-type <type> --proxy-auth <auth> %h %p" [email protected]
ssh -o「ProxyCommand nc --proxy
如何添加一些信息關於這是如何工作的?它在LQP中顯示 – fedorqui
在我來說,因爲我已經在路上跳主機或堡壘主機,並且由於這些堡壘節點上的簽名已經改變,因爲他們導入known_hosts文件,我只需要刪除這些條目/行s從以下文件:
/Users/a.abdi-kelishami/.ssh/known_hosts
從上面的文件,刪除指向堡壘主機的那些行。
你目前正在嘗試通過代理連接? –
您應該在ServerFault或SuperUser中提問。另外,你會得到更好的迴應。 –
接受答案請 – Lupocci