import threading
import paramiko
import subprocess
def ssh_command(ip,user,passwd,command):
client=paramiko.SSHClient()
#client.load_host_keys("filename")使用密钥验证
#设置自动添加和保存ssh服务器的ssh密钥
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect(ip,username=user,password=passwd)
ssh_session=client.get_transport().open_session()
if ssh_session.active:
#调用ssh_comand函数运行command
ssh_session.exec_command(command)
a=ssh_session.recv(1024)
return a
a=ssh_command("192.168.6.128",'root','123456','ls -lh')
print(a.decode("gbk"))
基于用户名密码
import paramiko # 创建SSH对象 ssh = paramiko.SSHClient() # 允许连接不在know_hosts文件中的主机 ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) # 连接服务器 ssh.connect(hostname='c1.salt.com', port=22, username='wupeiqi', password='123') # 执行命令 stdin, stdout, stderr = ssh.exec_command('df') # 获取命令结果 result = stdout.read() # 关闭连接 ssh.close()