📅  最后修改于: 2023-12-03 15:32:26.596000             🧑  作者: Mango
jumpssh 是一个 Python 库,可以让你在多个服务器上无缝执行命令。这非常适合那些需要在多台服务器上部署和管理应用程序的 DevOps 工程师。
安装 jumpssh 很简单,只需使用以下命令:
pip install jumpssh
开始之前,你需要有 SSH 私钥并添加到你的本地 ssh-agent 中。这可以通过以下方法完成:
ssh-add ~/.ssh/my-ssh-key
然后,你可以这样使用 jumpssh:
from jumpssh import SSHSession
# server 1
server1 = SSHSession('user1', ' jump.server.com')
server1.open()
# server 2
server2 = server1.get_remote_session('user2', 'server2.internal.local')
server2.open()
command_output = server2.run_command('ls -l')
print(command_output)
如果你需要在多个服务器上执行多个命令,你可以使用以下代码:
from jumpssh import SSHSession
servers = [
{'user': 'user1', 'host': 'jump.server.com'},
{'user': 'user2', 'host': 'server2.internal.local'},
# add more servers here
]
# open all servers
ssh_sessions = []
for server in servers:
ssh_session = SSHSession(server['user'], server['host'])
ssh_session.open()
ssh_sessions.append(ssh_session)
# run commands on all servers
for ssh_session in ssh_sessions:
command_output = ssh_session.run_command('ls -l')
print(command_output)
# close all servers
for ssh_session in ssh_sessions:
ssh_session.close()
这将在服务器列表中的所有服务器上执行命令 ls -l
,并列印输出。
jumpssh 可以使 DevOps 工程师更容易地在多个服务器上部署和管理应用程序。通过这种便利的方法执行命令,你可以更快地完成任务,并减少手动输入命令的时间。