• Macfastssh快速登跳转机


    公司一个大牛的

    #!/usr/bin/expect
    set timeout 20
    set dest [lindex $argv 0]
    
    # login jump3
    spawn ssh wenbronk@sss.oss.le.cn -p 502
    expect {
        "Connection refused" exit
        "Name or service not known" exit
        "continue connecting" {send "yes\r";exp_continue}
        "password:" {send "password\r"}
        "Last login" {send_user "login jump successful"}
    }
    
    if { $dest == "hive" } {
        set user "bronkwen"
        set ip "10.112.32.15"
        set password "b0GBH28"
    } elseif { $dest == "rdp" } {
        set user "rdp"
        set ip "10.183.93.1"
    } elseif { $dest == "asdf" } {
        set user "root"
        set ip "10.185.29.2"
        set password "SJevL6"
    } elseif { $dest == "redis" } {
        set user "rot"
        set ip "10.1.96.87"
        set password "E3vQC92"
    } elseif { $dest == "rdp_h" } {
        set user "bronkwen"
        set ip "10.183.3.1"
        set password "b28"
    } elseif { $dest == "storm" } {
        set user "slog"
        set ip "10.110.155.8"
        set password ".com"
    } else {
       interact
       exit
    }
    
    expect "*:h<Enter>*"
    send ":"
    expect "*:*"
    send_user "login $ip by user:$user\n"
    send "ssh $user@$ip\r"
    expect {
        "Connection refused" exit
        "Name or service not known" exit
        "continue connecting" {send "yes\r";exp_continue}
        "password:" {send "$password\r"}
        "Last login" {send_user "login $ip by user:$user\n successful"}
    }
    
    set rdp_ip [lindex $argv 1]
    if { $dest != "rdp" || $rdp_ip == "" } {
       interact
       exit
    }
    
    if { $rdp_ip == "mongo" } {
        set rdp_ip "10.183.6.193"
    } elseif { $rdp_ip == "canal1" } {
        set rdp_ip "10.110.1.35"
    } elseif { $rdp_ip == "canal2" } {
        set rdp_ip "10.110.1.36"
    }
    
    send "ssh root@$rdp_ip\r"
    expect {
        "Connection refused" exit
        "Name or service not known" exit
        "continue connecting" {send "yes\r";exp_continue}
        "Last login" {send_user "login $ip by user:$user\n successful"}
    }
    interact

    精简了下, 用来登陆我的虚拟机

    #!/usr/bin/expect                                                                                                                                                                                               
    set timeout 20
    set dest [lindex $argv 0]
    
    set user "root"
    set password "root"
    
    if { $dest == "node1" } {
        set ip "192.168.199.115"
    } elseif { $dest == "rdp" } {
        set ip "192.168.199.176"
    } elseif { $dest == "asdf" } {
        set ip "192.168.199.189"
    } elseif { $dest == "redis" } {
        set ip "192.168.199.181"
    } else {
       echo unkonw server
       interact
       exit
    }
    
    spawn ssh $user@$ip -p 22
    expect {
        "Connection refused" exit
        "Name or service not known" exit
        "password" {send "$password\r" }
        "continue connecting" {send "yes\r";exp_continue}
        "Last login" {send_user "login $ip by user:$user\n successful"}
    }
    interact

    把文件命令为  fastss, 放在  ~/soft/path/fastssh, 然后修改  /etc/profile, 增加环境变量

    之后就可以在任意地方使用   `fastssh node1`  的方式来登录了

  • 相关阅读:
    SpringBoot list查询方法
    eclipse创建web项目
    loadrunner获取返回值为乱码
    连接数据库
    lr并发量和迭代的区别
    LoadRunner11.00入门教程出现的问题
    python学习杂记--函数参数的设置
    adb logcat的命令行开启和关闭
    python学习杂记--pycharm控制台输出乱码
    python学习杂记--装饰器
  • 原文地址:https://www.cnblogs.com/wenbronk/p/8954421.html
Copyright © 2020-2023  润新知