一.基于SFTPClient类连接sshd服务器:
特点: 一般用于实现对远程服务器的上传, 下载和对远程目录文件的操作
1 import pramiko
2
3 hostname = '172.24.0.110'
4 username = 'carl'
5 password = '321123'
6 port = 22
7 remote_dir = '/data/sftp/'
8 local_dir = '/data/DownloadData'
9 try:
10 trans = paramiko.Transport((host, port))
11 trans.connect(username=username, password=password)
12 sftp = paramiko.SFTPClient.from_transport(trans)
13 # 下载文件
14 sftp.get(remote_dir, local_dir)
15 #上传文件
16 sftp.put(remote_dir, local_dir)
17 # 打印目录列表
18 print(sftp.listdir('/home'))
19 except Exception e:
20 print(str(e))
二.通过SSHClient类连接
特点: SSHClient类是SSH服务会话的高级表示,封装了传输、通道以及SFTPClient的校验、建立方法,通常用于执行命令
1 import paramiko
2 hostname = '172.24.0.110'
3 username = 'carl'
4 password = '321123'
5 # 创建一个SSH客户端client对象
6 ssh = paramiko.SSHClient()
7 # 获取客户端host_keys,默认~/.ssh/known_hosts, 非默认路径需指定
8 ssh.load_host_keys()
9 # 创建ssh连接
10 ssh.connect(hostname=hostname, username=username, password = password)
11 # 调用远程执行命令的方法
12 stdin, stdout, stderr = ssh.exec_command('cd /data/sftp')
13 # 打印命令执行结果, 得到python列表形式
14 # print(stdout.read())
15 print(stdout.readlines())
16 # 关闭ssh连接
17 ssh.close()
github地址: https://github.com/haha479/Note/blob/master/learning_module/ftplibAndparamiko.txt
Original: https://www.cnblogs.com/self479/p/9244084.html
Author: yiSiNing479
Title: Python之–paramiko实例
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/577649/
转载文章受原作者版权保护。转载请注明原作者出处!