Ubuntu

應該使用什麼命令通過 squid 代理通過 SSH 連接?

  • October 23, 2013

我已經設置了一個 Squid HTTP 代理(在 centOS 中)並打算將它也用於 ssh 連接。

設法配置膩子(在 Windows 客戶端中)以在通過 ssh 連接時使用此代理。在“目標主機”中確認 ssh 連接來自代理伺服器 IP,而不是 Windows 客戶端 IP。

用過的:

  • 目標主機:22 用於 ssh
  • proxyserv:3128 用於代理(連同代理憑據)

我現在在使用 Ubuntu 和同一代理伺服器連接到“目標主機”時遇到問題。

我嘗試了以下方法:

me@mycomp:~$ connect-proxy -H test@proxyserv:3128 targethost 22
Enter proxy authentication password for test@proxyserv: 
SSH-2.0-OpenSSH_6.2p2 Ubuntu-6

它掛在最後一行,期待一些輸入。所有嘗試都導致“協議不匹配”。錯誤。

Putty 成功連接到 http 代理並發送憑據,立即顯示 ssh 登錄。- 如何(在 Ubuntu 中使用命令)和 putty 一樣?- 除了 connect-proxy 命令還有其他方法嗎?

編輯:還嘗試了以下相同的結果(“協議不匹配”)

me@mycomp:~$ connect-proxy -H test@proxyserv:3128 targethost 22 ssh -l myshel_login

提前致謝

編輯:解決方案詳細資訊(感謝 NickW 指出正確的方式)

安裝開瓶器並添加到 ssh_config

Host targethost   
   ProxyCommand corkscrew proxyserv 3128 %h %p /etc/ssh/proxypass

創建代理通行證文件

login:password

重新啟動 ssh 並使用了一個簡單的 ssh 命令

ssh mylogin@targethost

(像往常一樣詢問ssh密碼)

您可能希望將開瓶器添加到您的 Ubuntu 盒子中,並添加以下行:

ProxyCommand /usr/local/bin/corkscrew proxy.work.com 80% h% p

到您的 .ssh/config 文件。

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