在集群管理中我们经常需要远程跳转到其他服务器ssh username@remote_host -p port
这里我们编写一个简单的python脚本实现远程需求 config.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
## python3 config.py >~/.ssh/config
def main():
with open('ips.txt') as f:
lines=f.readLines()
for line in lines:
print('Host line[9:]'
print(" StrictHostKeyChecking no")
print(" HostName {}".format(line))
print(" Port 22")
print(" ForwardAgent yes")
print(" User zhouja01") #这里输入你自己远程登录的用户名
print(" Controlpath ~/.ssh/ssh-%r@%h:%p.sock")
print("\n")
if __name__ == '__main__':
main()
获得列表如下:
Host 186
StrictHostKeyChecking no
HostName 10.20.10.186
Port 22
ForwardAgent yes
User zhouja01
Controlpath ~/.ssh/ssh-%r@%h:%p.sock
这里的意思是读取一个ip列表 然后截取ip列表的最后一位 之后输入ssh ip最后一位就可以实现远程跳转的功能。如ssh 186
利用Polysh实现多台服务器管理:(登录多台主机 然后执行相同命令)
安装:pip3 install polysh
使用:polysh hostname 这里我们可以使用上面跳转的数字编码
如:polysh 186 165 #就可以管理186 165两台主机
案例:实现多台机器修改密码:
polysh host1,host2,host3...hostn
passwd user