场景: shell脚本中,scp和ssh连接时,自动输入用户名和密码。 解决方案: 例: #!/bin/bash remoteIp=IP remoteUser=用户名 remotePw=密码 function down
shell脚本中,scp和ssh连接时,自动输入用户名和密码。
例:
#!/bin/bash
remoteIp=IP
remoteUser=用户名
remotePw=密码
function download(){
remoteFile=$1
localDir=$2
expect << EOF
set timeout 1200;
spawn scp -r -p $remoteUser@$remoteIp:"$remoteFile" "$localDir"
expect{
"*yes/no*" {send "yes\n";exp_continue}
"*Permission denied*" {exit 1}
"*passWord*" {send "$remotePw\n";exp_continue}
"*Killed by signal 1" {exit 1}
}
EOF
}
fucntion remoteCmd(){
cmd=$1
expect << EOF
set timeout 1200;
spawn ssh $remoteUser@$remoteIp
expect{
"*yes/no*" {send "yes\n";exp_continue}
"*Permission denied*" {exit 1}
"*password*" {send "$remotePw\n";exp_continue}
"*\$ " {send "\n"}
}
expect "*\$ " {send "$cmd\n"}
expect "*\$ " {send "exit\n"}
EOF
}
remoteCmd "ls -l"
到此这篇关于Shell 脚本自动输入密码的三种方式小结的文章就介绍到这了,更多相关Shell 自动输入密码内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!
--结束END--
本文标题: shell脚本自动输入用户名和密码的实现
本文链接: https://www.lsjlt.com/news/196757.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-03-01
2024-03-01
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0