我会使用paramiko。它安全快速且非常简单。这个怎么样?
所以我们首先导入模块,并指定日志文件:
import paramiko
paramiko.util.log_to_file('/tmp/paramiko.log')
我们打开一个 SSH 传输:
host = "example.com"
port = 22
transport = paramiko.Transport((host, port))
接下来我们要进行身份验证。我们可以用密码来做到这一点:
password = "example101"
username = "warrior"
transport.connect(username = username, password = password)
另一种方法是使用 SSH 密钥:
import os
privatekeyfile = os.path.expanduser('~/.ssh/id_rsa')
mykey = paramiko.RSAKey.from_private_key_file(privatekeyfile)
username = 'warrior'
transport.connect(username = username, pkey = mykey)
现在我们可以启动 SFTP 客户端了:
sftp = paramiko.SFTPClient.from_transport(transport)
现在让我们将文件从远程拉到本地系统:
filepath = '/home/zeth/lenna.jpg'
localpath = '/home/zeth/lenna.jpg'
sftp.get(filepath, localpath)
现在让我们换一种方式:
filepath = '/home/zeth/lenna.jpg'
localpath = '/home/zeth/lenna.jpg'
sftp.put(filepath, localpath)
最后,我们需要关闭 SFTP 连接和传输:
sftp.close()
transport.close()
怎么样??对于这个例子,我必须对此表示赞赏。