假設你需要進入一個無法直達(由於不在互聯網上,或其它原因)的節點,但你可以進入守護它前端的節點。 你不用每次都 ssh 進入該守護主機,然後再連線到第二個節點。ssh_config 內擁有為此而設、好用的 ProxyCommand 功能,而下面是 ~/.ssh/config 的範例:
Host bastion Hostname bastion.yourdomain.com ForwardAgent yes Host hidden Hostname IP.or.FQDN.known.by.bastion ProxyCommand ssh bastion -W %h:%p 2>/dev/null
現在你可以從你的手提電腦/工作站,利用 ssh 直接進入「隱藏」的機器,而無須依賴守護主機上的指令殼:
ssh hidden hostname hidden.yourdomain.com
這個方法亦能讓 sftp/scp 直接複製至該節點。
範例
如要存取 CentOS CI 的機器,你需要在你的 .ssh/config 檔內加入下列設定(並對該檔案執行 chmod 600):
Host jump.ci Hostname jump.ci.centos.org User <your_ci_username> ProxyCommand none ForwardAgent yes GSSAPIAuthentication no Host *.ci.centos.org ProxyCommand ssh jump.ci -W %h:%p ForwardAgent yes GSSAPIAuthentication no
加入以下內容後,你便能以 ssh 進入你的項目帳戶 'ssh <項目名稱>@ci-slave01.ci.centos.org' 並在該機器上工作。
Translation of revision 6