天天看点

python -paramiko基于用户名密码的上传和下载

paramiko实现上传和下载:

import paramiko
from paramiko import AuthenticationException, SSHException

# 类似于sftp命令的功能
try:
    # 建立与远程主机的通道;目的ip,一个没有被占用的端口号
    transport = paramiko.Transport(('172.25.254.103', 22))
    
    # 验证用户名和密码是否正确;
    transport.connect(username='root', password='redhat')
    # 根据创建并验证成功的通道, 创建sftp客户端;
    sftp = paramiko.SFTPClient.from_transport(transport)
except AuthenticationException as e:
    print("密码错误:", e)
except SSHException as e:
    print("主机不存在:", e)
except Exception as e:
    print("未知错误:", e)
else:
    # 上传文件
    sftp.put('/etc/passwd', '/mnt/172.25.254.250')
    # 下载文件;
    # sftp.get('/mnt/172.25.254.250')
finally:
    # 关闭两台主机建立的通道;
    transport.close()
           

登陆到172.25.254.103,文件已经上传过去了

python -paramiko基于用户名密码的上传和下载