繁体   English   中英

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

[英]How do I send authentication details in a Bash script?

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

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

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

我认为已经讨论了很多,但你可以使用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

将“ssh user @ host”替换为您要执行的命令,例如“git pull”:

spawn git pull

下一行告诉您期望的提示(“密码:”)。 确保将此字符串设置为手动执行git pull后显示的字符串。 区分大小写和空格很重要。

编辑 :在基于Debian的系统上安装expect很容易:

apt -y install expect

在RedHat上:

yum -y install expect

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM