- # 通过 paramiko 模块连接主机运行 bash 命令
- import paramiko
- hostname = '192.168.88.31'
- port = 22
- username = 'root'
- password = '123'
- SSH = paramiko.SSHClient() #创建 SSH 对象
- SSH.set_missing_host_key_policy(paramiko.AutoAddPolicy()) #允许连接不在 know_hosts 文件中的主机
- SSH.connect(hostname=hostname,port=port,username=username,password=password) #连接服务器
- stdin, stdout, stderr = SSH.exec_command("ls -ltr")# 执行命令
- print(stdout.read().decode('utf-8'))
- # 通过 paramiko 模块连接主机上传
- import paramiko
- hostname = '192.168.88.31'
- port = 22
- username = 'root'
- password = '123'
- t=paramiko.Transport((hostname,port))
- t.connect(username=username,password=password)
- sftp = paramiko.SFTPClient.from_transport(t)
- sftp.put(r'C:\Users\OYY\Desktop\a.txt', '/root/aaa.xmind') #上传
- sftp.close()
- # 通过 paramiko 模块连接主机下载
- import paramiko
- hostname = '192.168.88.31'
- port = 22
- username = 'root'
- password = '123'
- t=paramiko.Transport((hostname,port))
- t.connect(username=username,password=password)
- sftp = paramiko.SFTPClient.from_transport(t) # 根据 SSH 传输协议的 sftp 会话, 实现远程文件上传, 下载等操作.
- sftp.get('/root/jk.sh', r'C:\Users\OYY\Desktop\jk.sh') #下载
- sftp.close()
来源: http://www.bubuko.com/infodetail-2877199.html