我想写一个bash脚本,它发送一个密码以通过远程服务器进行身份验证.
例如,我想编写一个bash脚本,它将代码从github存储库提取到服务器,但我必须指定密码或passpharse才能执行此操作.
我该怎么编码呢?我尝试了几件事,但没有任何效果.
解决方法:
我认为这是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上安装expect很容易(如果你愿意,可以使用apt-get代替aptitude):
aptitude install expect