环境和需求
1. 环境
1.linux客户端A:192.168.50.112
1.linux-sftp服务端B:192.168.50.213
2. 需求
2.1 从A下载B服务器上文件
2.2 从A上传文件到B服务器上
代码实现
import paramiko, time
from paramiko.ssh_exception import NoValidConnectionsError,AuthenticationException
def sftp_get(ip, user, pwd, local_file,remote_file, port=22):
try:
t = paramiko.Transport(ip, port)
t.connect(username=user, password=pwd)
sftp = paramiko.SFTPClient.from_transport(t)
sftp.get(remote_file, local_file)
t.close()
except Exception as e:
print(e)
def sftp_put(ip, user, pwd, local_file, remote_file, port=22):
try:
t = paramiko.Transport(sock=(ip, port))
t.connect(username=user, password=pwd)
sftp = paramiko.SFTPClient.from_transport(t)
print(local_file)
print(remote_file)
sftp.put(local_file, remote_file)
print(11)
t.close()
except Exception as e:
print(e)
if __name__ == '__main__':
'''
不要运行的,请注释掉,前面加'#'符号
'''
ip = '192.168.50.213'
user= 'mysftp'
pwd= '12345678'
local_file = '/angus/cc.txt'
remote_file = '/upload/bb.txt'
#sftp_get(ip=ip, user=user, pwd=pwd, remote_file=remote_file, local_file=local_file)
sftp_put(ip=ip, user=user, pwd=pwd, local_file=local_file, remote_file=remote_file)
备注:remote_file使用的是sftp根目录,并不是服务器根目录,否则会报文件找不到