我需要ssh进入linux pc并打开2个终端并在终端1中执行2命令 - 1命令,在终端2中执行另一个命令。我应该如何使用python脚本执行此操作?
TIA
答案 0 :(得分:0)
使用paramiko模块: 使用paramiko.SSHClient创建连接;然后运行两次exec_command方法(两者都将在不同的通道中运行< =>两个终端;您可以按照任何顺序与它们进行交互(写入stdin句柄,从stdout和stderr句柄读取)
编辑: 对于长时间运行的命令,最好使用invoke_shell方法而不是exec_command
import paramiko
client = paramiko.SSHClient()
client.load_system_host_keys()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect('1.2.3.4', username='user', password='passwd')
shell1 = client.invoke_shell()
shell1.write('cmd\n')
shell2 = client.invoke_shell()
shell2.write('cmd\n')