透過 2 跳 SSH 會話複製遠端日誌文件,無需輸入密碼

透過 2 跳 SSH 會話複製遠端日誌文件,無需輸入密碼

我希望透過網關伺服器從遠端 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 也是如此。

相關內容