Python的paramiko模块ssh操作-演道网

SSHClient

用于连接远程服务器并执行基本命令

基于用户名密码连接:

import paramiko

# 创建SSH对象

ssh = paramiko.SSHClient()

# 允许连接不在know_hosts文件中的主机

ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

# 连接服务器

ssh.connect(hostname=’c1.salt.com’, port=22, username=’wupeiqi’, password=’123′)

# 执行命令

stdin, stdout, stderr = ssh.exec_command(‘df’)

# 获取命令结果

result = stdout.read()

# 关闭连接

ssh.close()
 

基于公钥密钥连接: 

import paramiko

private_key = paramiko.RSAKey.from_private_key_file(‘/home/auto/.ssh/id_rsa’)

# 创建SSH对象

ssh = paramiko.SSHClient()

# 允许连接不在know_hosts文件中的主机

ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

# 连接服务器

ssh.connect(hostname=’c1.salt.com’, port=22, username=’wupeiqi’, key=private_key)

# 执行命令

stdin, stdout, stderr = ssh.exec_command(‘df’)

# 获取命令结果

result = stdout.read()

# 关闭连接

ssh.close()
 

SFTPClient

用于连接远程服务器并执行上传下载

基于用户名密码上传下载

import paramiko

transport = paramiko.Transport((‘hostname’,22))

transport.connect(username=’wupeiqi’,password=’123′)

sftp = paramiko.SFTPClient.from_transport(transport)

# 将location.py 上传至服务器 /tmp/test.py

sftp.put(‘/tmp/location.py’, ‘/tmp/test.py’)

# 将remove_path 下载到本地 local_path

sftp.get(‘remove_path’, ‘local_path’)

transport.close()
 

基于公钥密钥上传下载

import paramiko

private_key = paramiko.RSAKey.from_private_key_file(‘/home/auto/.ssh/id_rsa’)

transport = paramiko.Transport((‘hostname’, 22))

transport.connect(username=’wupeiqi’, pkey=private_key )

sftp = paramiko.SFTPClient.from_transport(transport)

# 将location.py 上传至服务器 /tmp/test.py

sftp.put(‘/tmp/location.py’, ‘/tmp/test.py’)

# 将remove_path 下载到本地 local_path

sftp.get(‘remove_path’, ‘local_path’)

transport.close()

零基础如何入门Python http://www.linuxidc.com/Linux/2016-10/136485.htm

Ubuntu 14.04安装Python 3.3.5  http://www.linuxidc.com/Linux/2014-05/101481.htm

CentOS上源码安装Python3.4  http://www.linuxidc.com/Linux/2015-01/111870.htm

Ubuntu 14.04下Python数据处理环境搭建  http://www.linuxidc.com/Linux/2017-01/139568.htm

《Python核心编程 第二版》.(Wesley J. Chun ).[高清PDF中文版] http://www.linuxidc.com/Linux/2013-06/85425.htm

《Python开发技术详解》.( 周伟,宗杰).[高清PDF扫描版+随书视频+代码] http://www.linuxidc.com/Linux/2013-11/92693.htm

在CentOS 6.5上安装Python2.7  http://www.linuxidc.com/Linux/2016-10/136206.htm

在Ubuntu下用Python搭建桌面算法交易研究环境 http://www.linuxidc.com/Linux/2013-11/92534.htm

转载自演道,想查看更及时的互联网产品技术热点文章请点击http://go2live.cn