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

Jee*_*gre 3 linux bash scripting ubuntu

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

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

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

dim*_*mir 7

我认为已经讨论了很多,但你可以使用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
Run Code Online (Sandbox Code Playgroud)

在产生后放置"git pull"或任何命令而不是"ssh user @ host".确保预期的提示(在这种情况下为"密码:")正是运行生成命令后的显示方式.

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

spawn git pull
Run Code Online (Sandbox Code Playgroud)