资讯专栏INFORMATION COLUMN

expect实现自动通过堡垒机登陆

ernest.wang / 816人阅读

摘要:通过堡垒机登陆将如下代码保存到文件登陆堡垒机运行如下命令

expect通过堡垒机A:1.1.1.1 登陆B:2.2.2.2
将如下代码保存到文件login.exp

bash#!/usr/bin/expect -f
if {$argc < 3} {
    puts stdout "$argv0 err params
"
    exit 1
}

proc do_console_login {login pass ip} {
    puts $login;
    puts $pass;
    puts $ip
}

# puts [llength $argv]

set login loginname
set login_pass 123456
set login_ip 1.1.1.1
set login_port 63008

set timeout 10
set user [lindex $argv 0]
set password [lindex $argv 1]
set ip [lindex $argv 2]
do_console_login $user $password $ip

# spawn ls -l

# expect "login_52.exp"

# expect eof

#登陆堡垒机
spawn ssh $login@$login_ip -p $login_port
expect {
    "*(yes/no) " {send "yes
";exp_continue}
    "*assword:" {send "$login_pass
"}
}   
expect "]$ "
send "ssh $user@$ip 
"
expect {
    "(yes/no)" {send "yes
";exp_continue}
    "*assword:" {send "$password
"}
}   

interact

运行如下命令:

bash./login.exp user password 1.1.1.1

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/7811.html

相关文章

  • expect实现自动通过堡垒登陆

    摘要:通过堡垒机登陆将如下代码保存到文件登陆堡垒机运行如下命令 expect通过堡垒机A:1.1.1.1 登陆B:2.2.2.2 将如下代码保存到文件login.exp bash#!/usr/bin/expect -f if {$argc < 3} { puts stdout $argv0 err params exit 1 } proc do_console_logi...

    Mr_houzi 评论0 收藏0
  • 使用 expect 在必要情况下实现自动输入密码登陆

    摘要:原文地址补充网友穗乃果提示,用可以更完美地解决这个问题。试了一下,因为安全原因,默认不支持安装可以用以下命令安装使用方法你的密码添加命令别名在中添加一行你的密码使之生效完美解决了使用带来的副作用,感谢穗乃果 由于公司的堡垒机必须要用域账号登陆,然后转发密钥,所以每次登陆堡垒机的时候都需要手动输入域账号密码。密码太长且复杂,手动输入容易输错,故使用 expect 写了个脚本来做这个事情,...

    Barry_Ng 评论0 收藏0
  • 如何成为云中硬核“牧羊人”?云堡垒服务高效运维,让云主不再成为落单的小羊!

    摘要:如何成为云中硬核牧羊人云堡垒机服务高效运维,让云主机不再成为落单的小羊企业运维场景难点,自检你中招了哪些企业运维账号众多企业运维的服务器数量众多,而维护人员数量有限,一个运维人员维护多台主机多个系统的现象普遍存在。 如何成为云中硬核牧羊人?云堡垒机服务高效运维,让云主机不再成为落单的小羊! 企业运维场景难点,自检你中招了哪些?• 企业运维账号众多企业运维的服务器数量众多,而维护人...

    zeyu 评论0 收藏0
  • 堡垒跳板实现——ldap配置

    摘要:进程由软件包提供,根据配置信息,与后端的认证服务器进行交互。 这是关于堡垒跳板机的第三篇文章,之前介绍了实现堡垒跳板机的整体三层架构 和 设计实现:堡垒跳板机整体架构堡垒跳板机架构实现 本篇介绍整个体系中的一个补充,对第三层ldap架构的实现的具体操作进行下记录。 整体目标 后端服务器数量日益增加,账号的数量也在不断增加,账号的统一管理变得尤为重要。结合堡垒机,主要针对服务器账号体系接...

    Charles 评论0 收藏0
  • iTerm2 结合 Linux expect 实现 ssh 自动登陆, 通过跳板登录服务器内网功能

    摘要:解决方法脚本通过跳板机登录内网服务器,如果只登陆有外网的服务器,把有关内网的部分删掉就可以啦,例如跳板机就是有外网的服务器。执行完成后保持交互状态,把控制权交给控制台。 痛点 一般情况下,公司所有的服务器都在内网,公网访问、管理服务器都要先通过登录一台跳板机,然后再由跳板机登录到相应的服务器进行操作,跳板机与服务器的连接都是内网地址。我们经常看到的现象就是下图这样(博主 Mac 自带的...

    williamwen1986 评论0 收藏0

发表评论

0条评论

ernest.wang

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<