前言

主要是想使用VSCode的SSH功能,而遠端主機並不是直接對外暴露SSH連線的,但可以透過Sockets Proxy連線,這時候要如何使用Windows內建的SSH Client進行連線呢?於非Windows系統可以使用設定檔並透過netcat(nc)來進行連線,但Windows上沒有這種東西。

在Linux/Mac或其他類Unix系統

如在Linux或者Mac上都可以使用netcat(nc),實際做法可以編輯家目錄的ssh設定檔/home/$USER/.ssh/config,加入以下設定:

Host <host>
    HostName <host>
    ProxyCommand nc -X 5 -x <proxy_host>:<proxy_port> %h %p 
    Port <port>
    User <username>

當然必須先安裝nc就是了,而如Proxy是使用SSH的話可將ProxyCommand改成以下設定:

ProxyCommand ssh -q -x <ssh_proxy_host> -W %h:22

Windows

可使用類似的軟體,透過scoop安裝connect:

scoop install connect

SSH設定檔的ProxyCommand改成以下:

ProxyCommand connect -S <proxy_host>:<proxy_port> %h %p

參考資料