如何在Bash脚本中发送身份验证详细信息?

时间:2011-12-28 12:43:53

标签: linux bash scripting ubuntu

我想编写一个bash脚本,该脚本发送密码以通过远程服务器进行身份验证。

例如,我想编写一个bash脚本,它将代码从github存储库提取到服务器,但我必须指定密码或passpharse来执行此操作。

我该怎么编码呢?我尝试了几件事,但没有任何效果。

1 个答案:

答案 0 :(得分:7)

我认为这是discussed很多,但您可以使用expect。以下是使用ssh连接到主机的示例:

#!/usr/bin/expect

set password "YOURPASSWORD"
set user "john"
set host "192.168.1.100"

spawn ssh $user@$host
expect "Password:"
send "$password\n";
interact

在产生后放置“git pull”或任何命令而不是“ssh user @ host”。确保预期的提示(在这种情况下为“密码:”)与生成命令后的显示方式完全相同。

编辑:在Debian上安装期望很容易(如果你愿意,可以使用apt-get代替aptitude):

aptitude install expect
相关问题