polysh的操作使用
- 安装polysh工具到预发环境机器
wget http://guichaz.free.fr/polysh/files/polysh-0.4.tar.gz
pip install --user polysh-0.4.tar.gz
- 配置环境变量
找到用户目录下的.bash_profile文件,进行如下操作
export PATH=$PATH:$(python -c "import site; print site.USER_BASE")/bin
source .bash_profile
如何操作
- 第一种方式
polysh 172.31.160.116 172.30.174.182 waiting (2/2)>这里输入自己的堡垒机密码
- 第二种方式
在自己的家目录下新建文件pwd-file,内容为自己的堡垒机登录密码;新建host-file,内容为需要登录的服务器ip列表,每个服务器地址站一行
编写一个脚本文件login.sh,并赋予执行权限,脚本内容如下:
polysh --password-file=product-ip/pwd-file --hosts-file=product-ip/host-file
免密登录线上机器
- 修改本地配置文件
cd ~/.ssh/
touch ~/.ssh/config
vim ~/.ssh/config
Host *
ControlPath ~/.ssh/master-%r@%h:%p
ControlMaster auto
ControlPersist yes
- 写面密登录脚本login.sh
#!/usr/bin/expect
# 登录的堡垒机地址
set bridge_host "xxx.xxxx.com"
set username "xxx"
set password "xxx"
set timeout 30
# 发起登录请求
spawn ssh "${username}@${bridge_host}"
expect {
# 如果未登录,则输入密码(仅需要输入6位动态密码),之后跳转到目标主机
"Password:" {
send "${password}\n"
expect {
"verification code:" {
send_user "\nEnter verification code:"
expect_user -re "(.*)\n"
set veri_code $expect_out(1,string)
send "${veri_code}\n"
}
}
}
#匹配你的登录域名比如shifeifei@aaa.com
"*@xxx*" {
}
}
interact
- 脚本赋予执行权限
chmod -R 777 login.sh
expect login.sh
- 声明配置
vim ~/.bash_profile
将下面这句话替换成你自己的路径后, 拷贝到 ~/.bash_profile 里后, 保存退出
alias login=/Your Path/login.sh
source ~/.bash_profile