我在服务器上有一个帐户,该帐户设置为ssh
.这非常烦人,因为即使我设置了 ssh 密钥,每次 ssh 到服务器时我仍然必须输入令牌代码。因此,我想知道是否有一个ssh
选项可以用来从命令行提供令牌代码,例如.如果这样的选项可用,我可以自动检索令牌代码并将其传递到 ssh,这样我就不必每次都键入它。或者,我对模拟 bash 中输入的其他选项感兴趣,这样一旦提示令牌,就会有一个独立的进程为我输入它。ssh --token 1234 [email protected]
答案1
好的,我发现expect
脚本就是这样做的:期望一个字符串,然后为提示提供预定义的答案:
#!/usr/bin/expect -f
spawn ssh remote.server.com
expect "password: "
send "P@$$w0rd\r"
interact
需要expect
包,apt install expect
.