import paramiko
#远程执行命令
ssh=paramiko.SSHClient()
#创建一个sshclient对象
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
#允许将信任的主机自动加入到host_allow列表,必须在connect之前设置
ssh.connect('192.168.159.129',22,'root','123456')
#连接服务器
stdin,stdout,stderr=ssh.exec_command('df -h')
#执行命令
print(stdout.read())
ssh.close() #关闭连接
#上传
t=paramiko.Transport(('192.168.159.129',22))
#实例化一个transport对象
t.connect(username='root',password='123456')
#建立连接
sftp=paramiko.SFTPClient.from_transport(t)
#实例化一个sftp对象,并指定连接的通道
sftp.put('a.txt',r'/home/wesley/a.txt')
#发送文件,远端将会创建一个a.txt文件,内容可客户端的a.txt一样
#坑
:param str remotepath: the destination path on the SFTP server. Note
that the filename should be included. Only specifying a directory
may result in an error.
#必须指定到文件名,指到目录报错
t.close()
#下载文件
t=paramiko.Transport(('192.168.159.129',22))
t.connect(username='root',password='123456')
sftp=paramiko.SFTPClient.from_transport(t)
sftp.get(r'/home/wesley/a.txt','aaa.txt') #参数顺序 远端文件路径 本地
t.close()