List itemparamiko包含两个核心组件:
- 一个为SSHClient类
- 另一个为SFTPClient类
SSHClient类是SSH服务会话的高级表示,该类封装了传输(transport)、通道(channel)及SFTPClient的校验、建立的方法,通常用于执行远程命令
封装后:import paramiko
ssh = paramiko.SSHClient()#创建一个SSH客户端client对象
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())#目的是接受不在本地Known_host文件下的主机。
ip1 ='192.168.50.93'
ip2 ='192.168.50.94'
ip3 ='192.168.50.95'
start_cmd = "/etc/init.d/clickhouse-server start"
stop_cmd = "/etc/init.d/clickhouse-server stop"
restart_cmd = "/etc/init.d/clickhouse-server restart"
def Linux(ip,cmd):
ssh.connect(ip,username='root',password='Bjdv@Yfzx@@')#创建SSH连接
stdin, stdout, stderr = ssh.exec_command(cmd)#调用远程执行命令方法exec_command()
# print(stdout.readlines())#打印命令执行结果,得到Python列表形式,可以使用stdout_readlines()
print([' '.join([i.strip() for i in aa.strip().split('\n')]) for aa in stdout.readlines()])
# return stdout.readlines()
if __name__ == '__main__':
Linux(ip1,start_cmd)
更多学习参考链接:
https://blog.csdn.net/liguofang_527/article/details/114338062
https://www.cnblogs.com/hushaojun/p/4607514.html