linux shell

关注公众号 jb51net

关闭
首页 > 脚本专栏 > linux shell > Shell 自动输入密码

shell脚本自动输入用户名和密码的实现

作者:hnht1989

本文主要介绍了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\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 自动输入密码内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文