相关疑难解决方法(0)

在bash脚本中使用expect为SSH命令提供密码

对于那些想要回复我应该使用SSH密钥的人请弃权

我正在尝试在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"
Run Code Online (Sandbox Code Playgroud)

我脚本的输出:

spawn ssh -oStrictHostKeyChecking=no -oCheckHostIP=no usr@$myhost.example.com
usr@$myhost.example.com's password: you're out
Run Code Online (Sandbox Code Playgroud)

我想拥有我的SSH会话,只有当我退出它才能返回我的bash脚本.我之前使用bash的原因是因为我使用了一个菜单,我可以选择连接哪个单元.

谢谢

linux ssh bash expect

125
推荐指数
8
解决办法
35万
查看次数

标签 统计

bash ×1

expect ×1

linux ×1

ssh ×1