
我希望透過網關伺服器從遠端 PC 取得日誌檔案到本機 PC,而無需輸入密碼。網關伺服器使用 acctA@gatewayServer。遠端 PC 使用 acctB@remotePC。
我已經在網關和遠端設備上設定了 SSH 私鑰/公鑰。
從我的本機 PC,我可以透過 2 個躍點直接 SSH 到遠端 PC,而無需輸入 2 個帳戶的密碼,使用:
ssh acctA@gatewayServer -t ssh acctB@remotePC
但是當我將 SCP 與 ProxyCommand 一起使用時,它會要求我輸入 acctB 的密碼。為什麼?
scp -Cp -o "ProxyCommand ssh -q acctA@gateway -W remotePC:22" acctB@remotePC:/opt/logpath/log1.tgz log01.tgz
預先感謝和讚賞任何可以提供建議的人。
答案1
最簡單的事情是將這些行引入您的.ssh/配置文件:
Host remotePC
User acctB
HostName remotePC
ProxyCommand ssh AcctA@gatewayServer nc %h %p 2> /dev/null
然後您可以使用它來連接或複製文件,只需透過:
ssh remotePC
scp acctB@remotePC:/home/AcctB/somefile .
為此,您需要 netcat (數控) 指令安裝在 gatewayServer 上。
如果你真的堅持要一句俏皮話(但我永遠記不起所有這些東西),那麼你就可以:
ssh -o "ProxyCommand ssh acctA@gatewayServer nc -w 1 %h 22" acctB@remotePC
對於 scp 也是如此。