python实现ssh+SFTP文件上传下载
import paramiko
class SSH(object):
def __init__(self, host='172.20.1.11', port=22, username='root', password='密码'):
self.host = host
self.port = port
self.username = username
self.password = password
self.transport = None
def connect(self):
try:
transport = paramiko.Transport(self.host, self.port)
transport.connect(username=self.username, password=self.password)
self.transport = transport
print('连接成功')
except Exception as e:
print('连接失败')
stdin, stdout, stderr = ssh_client.exec_command('ls -all')
out = stdout.readlines()
for m in out:
print(m)
'''下载文件
:param remote_path:远端地址
:param local_path:本地地址
'''
def download_file(self, remote_path, local_path):
try:
sftp = paramiko.SFTPClient.from_transport(self.transport)
sftp.get(remote_path, local_path)
return True
except Exception as e:
print(e)
return False
'''上传文件'''
def upload_file(self, remote_path, local_path):
try:
sftp = paramiko.SFTPClient.from_transport(self.transport)
sftp.put(local_path, remote_path)
return True
except Exception as e:
return False
if __name__ == '__main__':
ssh_client = SSH()
ssh_client.connect()
print("我连接成功啦,开始get")
w= ssh_client.download_file(remote_path='/home/root/zhenhua.txt ',local_path='C:/Users/zhenhua.zhang1.o/Desktop/NIo tools/mnt')
print(w)