Bash

SSH 兩因素身份驗證

  • June 3, 2020

我在伺服器上有一個帳戶,該帳戶設置為ssh. 這非常煩人,因為即使我設置了 ssh 密鑰,我仍然必須在每次 ssh 到伺服器時輸入令牌程式碼。因此,我想知道是否有一個ssh選項可用於從命令行提供令牌程式碼,例如ssh --token 1234 user@server.com. 如果有這樣的選項,我可以自動檢索令牌程式碼並將其傳遞給 ssh,這樣我就不必每次都鍵入它。或者,我會對模擬 bash 中的輸入的其他選項感興趣,這樣一旦提示令牌,一個獨立的程序就會為我輸入它。

好的,我發現expect腳本就是這樣做的:期望一個字元串,然後為提示提供一個預定義的答案:

#!/usr/bin/expect -f
spawn ssh remote.server.com
expect "password: "
send "P@$$w0rd\r"
interact

需要expect包,apt install expect.

引用自:https://unix.stackexchange.com/questions/590468