ssh自动登录并且su的脚本


从一台Linux机器上用u1用户自动登录到服务器, 然后su成u2

  - 需要安装expect

  - 脚本如下:

#!/usr/bin/expect
#auto ssh login
set timeout 10
set sshhost [lindex $argv 0]
set u1 "user1"
set p1 "password1"
set u2 "user2"
set p2 "password2"
spawn ssh -l$u1 -pPortNumber $sshhost
expect {
  "yes/no" {
    send "yes\r"
    exp_continue 
  } "*assword:*" {
    send "$p1\r"
    exp_continue
  } "*ast login:*" {
    # 在s1上变成u2/p2用户:
    send "LANG=en_US.UTF-8\r"
    expect "\$*"
    send "su - $u2\r"
    expect "*assword:*"
    send "$p2\r"
    interact
    exit 0
  } timeout {
    send_user "connection to $sshhost timeout!\n"
    exit 1
  } "*ncorrect*" {
    send_user "password incorrect!\n"
    exit 2
  } "*ermission*" { #for LINUX ssh
    send_user "password Error!\n"
    exit 2
  } eof {
    exit 3
  }
}
- 调用:
./connnect.sh ipaddress


« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3