欢迎访问WDPHP素材源码!今天是2024年04月28日 星期日,新的一天开始啦!
您好,游客 [ 马上登录 | 注册帐号 | 微信登录 | QQ登录]
当前位置:首页 > 教程 > 其他教程 > 

shell脚本自动输入用户名和密码如何实现
栏目分类:其他教程    发布日期:2023-11-20    浏览次数:313次     收藏

今天小编给大家分享一下shell脚本自动输入用户名和密码如何实现的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

场景:

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
";exp_continue}
      "*Permission denied*" {exit 1}
      "*password*" {send "$remotePw
";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
";exp_continue}
      "*Permission denied*" {exit 1}
      "*password*" {send "$remotePw
";exp_continue}
      "*$ " {send "
"}
    }
    expect "*$ " {send "$cmd
"}
    expect "*$ " {send "exit
"}
EOF
}

remoteCmd "ls -l"
源码 模板 特效 素材 资源 教程 站长