相信程序员们都避免不了通过堡垒机登录服务器来查看问题,如何快速登录服务器而不用繁琐地输入密码等等步骤呢?下面的shell脚本帮你完成。
auto-login.sh
#!/usr/bin/expect -f #定义堡垒机账号/密码/IP set user *** set passwd *** set bastion_host *** if { $argc == 1 } { #将第一个参数赋值给dest_host set dest_host [lindex $argv 0] #qa if { $dest_host == "qa" } { set dest_host qa-web-v01 } #preview if { $dest_host == "pre" } { set dest_host sys-pre-v01 } } #执行ssh操作,登陆到堡垒机 spawn ssh $user@$bastion_host #检测命令行的返回信息,匹配password关键字 expect "*password:" #自动输入密码 回车 send "$passwd\n" #没有参数直接返回终端 if { $argc == 0 } { interact exit 1 } #监测命令行的返回信息,匹配下面关键字 expect "Opt or Host>:" #发送登录的机器 send "$dest_host\n" #自动交互 interact
然后就是将这个脚本执行放到.bashrc文件或是your_custom.zsh(mac os)文件中别名就ok啦
alias autologin='/usr/local/sbin/auto-login.sh'
接下来就可以:
$ autologin qa //直接到qa机器 $ autologin pre //直接到preview机器 $ autologin {machineName} //直接到指定机器 $ autologin //跳到堡垒机欢迎界面 可以查看需要的机器名称
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。