Ssh

使用 plink 將伺服器主機密鑰自動儲存在記憶體中

  • August 24, 2021

我一直在嘗試使用 plink 發出命令以從我的外部伺服器檢索資訊。請注意,這些 plink 命令是從不需要使用者輸入的二進製文件中執行的。是否有一個標誌可以讓我覆蓋此錯誤消息並繼續程序輸出?

The server's host key is not cached in the registry. You
have no guarantee that the server is the computer you
think it is.
The server's rsa2 key fingerprint is:
ssh-rsa 2048 **:**:**:**:**:**:**:**:**:**:**:**:**:**:**:**
If you trust this host, enter "y" to add the key to
PuTTY's cache and carry on connecting.
If you want to carry on connecting just once, without
adding the key to the cache, enter "n".
If you do not trust this host, press Return to abandon the
connection.
Store key in cache? (y/n)

謝謝!

嘗試在腳本前添加:

echo y | plink -ssh root@REMOTE_IP_HERE "exit"

當您在記憶體中獲取Store 鍵時,這會將y角色通過管道stdin傳輸到?**(y/n)**提示,允許所有進一步的命令通過而無需使用者輸入。該命令將在 SSH 會話建立後關閉它,從而允許執行以下命令。plink``plink``exit``plink

這是一個將外部伺服器的 Unix 時間寫入本地文件的範例腳本:

echo y | plink -ssh root@REMOTE_IP_HERE "exit"
plink -ssh root@REMOTE_IP_HERE "date -t" > remote_time.tmp

流水線參考http ://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO-4.html

引用自:https://serverfault.com/questions/420526