Bash
SSH 兩因素身份驗證
我在伺服器上有一個帳戶,該帳戶設置為
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
.