透過 proxy 連線 ssh
ssh 是很方便的工具,我們有時希望可以讓 ssh 透過 proxy 連到 proxy server 可以連到的機器。
這篇就是要介紹這樣的情境,不過,需要設定的手續也相對多。
squid proxy 端設定
這篇文章以 squid proxy 來介紹 proxy server 在這樣的情境中伴演的角色及相應的設定。
我們的環境都是以 linux 上的設定來說明相關的安裝及設定。
安裝 squid
1 | # apk add --update --no-cache squid |
這裡是以在 alpine linux 來說明 package 的安裝,在 ubuntu 及 centos 也有類及的
package 管理工具,不會有太大的差異。主要是要安裝 squid
設定 squid
預設的 proxy server 為了安全有設下安全的連線方式,而讓 ssh 透過 proxy 連線
不在預設的安全連線的 port 列表中,因些需要把 ssh port 22 加入安全名單。
編輯 /etc/squid/squid.conf
1 | ... |
加入上面的內容到 acl 最前面
執行 squid
1 | # /usr/sbin/squid -f /etc/squid/squid.conf -NYCd 1 & |
ssh client 端
要透過 proxy 連線 ssh , 還需要輔助工具 corkscrew 讓連線透過 proxy 連線
安裝 corkscrew
1 | # apk add --no-cache --update -X http://dl-cdn.alpinelinux.org/alpine/edge/testing corkscrew |
其他平台也可以在網路上找到相對應的 package 來安裝。
透過 proxy 連線 ssh
要把設定放在 ssh config 檔案中。
編輯 ~/.ssh/config
1 | host myhost |
連線 ssh
1 | $ ssh myhost |
連線會好像從 proxy server 連線到 ssh server 一樣,可以當作是反追蹤的一種方式。