paramiko连接远程主机,上传下载文件
Paramiko是基于SSHv2协议实现的一个Python模块,提供客户端和服务器的功能。Paramiko本身是一个围绕SSH网络概念的纯Python接口。
Client:
# 创建一个SSH连接对象 client = SSHClient() # 从系统文件加载主机密钥 client.load_system_host_keys() # 连接到SSH服务器并对其进行身份验证 client.connect(hostname,port) # 在SSH服务器上执行命令并输出结果 stdin, stdout, stderr = client.exec_command('ls -l')
SFTP:
# 创建一个传输通道 t = paramiko.Transport(hostname, port) # 返回服务器的主机密钥(在客户端模式下) t.get_remote_server_key()
# 登录账户进行身份验证 t.connect(username, password) # 创建一个SFTP客户端通道Transport sftp = paramiko.SFTPClient.from_transport(t) (操作与Linux下操作相似) # 在远程服务器打开文件 sftp.file(filename, mode='r')
# 在远程服务器打开文件 sftp.open(filename, mode='r')
# 将远程服务器文件remotepath复制到本地localpath sftp.get(remotepath, localpath)
# 将本地文件localpath复制到远程服务器remotepath sftp.get(remotepath, localpath) # 删除指定路径中的文件(只使用文件),文件夹使用rmdir sftp.remove(fielpath)