我尝试在 Bash 脚本中使用 expect
来提供 SSH 密码。提供密码可以工作,但是我不会像应该的那样在 SSH 会话中结束。回到巴斯身上。
我的剧本:
#!/bin/bash
read -s PWD
/usr/bin/expect <<EOD
spawn ssh -oStrictHostKeyChecking=no -oCheckHostIP=no usr@$myhost.example.com'
expect "password"
send "$PWD\n"
EOD
echo "you're out"
我的脚本输出:
spawn ssh -oStrictHostKeyChecking=no -oCheckHostIP=no usr@$myhost.example.com
usr@$myhost.example.com's password: you're out
我希望有我的 SSH 会话,只有当我退出时,才能返回到我的 Bash 脚本。
我之所以在 expect
之前使用 Bash 是因为我必须使用一个菜单。我可以选择连接到哪个单元/设备。
对于那些想要回复说我应该使用 SSH 密钥的人,请弃权。