Python进行ssh操作
import paramiko#创建一个ssh的客户端,用来连接服务器ssh = paramiko.SSHClient()#创建一个ssh的白名单know_host = paramiko.AutoAddPolicy()#加载创建的白名单ssh.set_missing_host_key_policy(know_host)#连接服务器ssh.connect(hostname = "10.10.21.1
·
import paramiko
#创建一个ssh的客户端,用来连接服务器
ssh = paramiko.SSHClient()
#创建一个ssh的白名单
know_host = paramiko.AutoAddPolicy()
#加载创建的白名单
ssh.set_missing_host_key_policy(know_host)
#连接服务器
ssh.connect(
hostname = "10.10.21.177",
port = 22,
username = "root",
password = "123"
)
#执行命令
stdin,stdout,stderr = ssh.exec_command("rm -rf /root/Desktop/mv")
#stdin 标准格式的输入,是一个写权限的文件对象
#stdout 标准格式的输出,是一个读权限的文件对象
#stderr 标准格式的错误,是一个写权限的文件对象
print(stdout.read().decode())
ssh.close()
paramiko结合多线程的使用使用代码示例如下
- import threading
import paramiko
class paramikoThreading(threading.Thread):
def __init__(self,command,host,username,password,port=22):
self.command = command
self.host = host
self.username = username
self.password = password
self.port = port
super(paramikoThreading,self).__init__()
def run(self):
ssh = paramiko.SSHClient()
# 创建一个ssh的白名单
know_host = paramiko.AutoAddPolicy()
# 加载创建的白名单
ssh.set_missing_host_key_policy(know_host)
# 连接服务器
ssh.connect(
hostname=self.host,
port=self.port,
username=self.username,
password=self.password,
)
stdin, stdout, stderr = ssh.exec_command(self.command)
print("*"*60)
print("ip:%s,\ncommand:%s,\n"%(self.host,self.command))
print(stdout.read().decode())
print("*"*60)
ssh.close()
if __name__ == '__main__':
from settings import pool #调用配置文件配置文件为settings.py
command = "ls"
t_pool = []
for host in pool:
t = paramikoThreading(
host=host.get("host","localhost"),
username=host.get("username","root"),
password=host.get("password","123"),
command=command
)
t_pool.append(t)
for t in t_pool:
t.start()
for t in t_pool:
t.join()
更多推荐
已为社区贡献1条内容
所有评论(0)