import paramiko
· 该模块基于SSH用于连接远程服务器并执行相关命令操作。
1、ssh范例:
import paramiko
ssh = paramiko.SSHClient()   #创建SSH对象
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())     #允许连接不在know_hosts文件中的主机
ssh.connect(hostname = '192.168.33.6', port = 22, username = 'root', password = 'tying89')   # 连接服务器
stdin, stdout, stderr = ssh.exec_command('free -m')   # 执行命令
res, err = stdout.read(), stderr.read()   # 获取命令输出
result = res if res else err
print(result)
ssh.close()   # 关闭连接
2、sftp范例:
import paramiko
transport = paramiko.Transport(('192.168.33.6', 22))
transport.connect(username = 'root', password = 'tying89')
sftp = paramiko.SFTPClient.from_transport(transport)
sftp.put('test_ssh.py', '/tmp/test.py')   # 将test_ssh.py上传至服务器并重命名/tmp/test.py,注意这里不能写远端目录,一定要带上文件名
sftp.get('/root/hadoop-1.2.1-bin.tar.gz', 'hadoop.tar.gz')   # 将remove_path下载到本地并重命名为local_path
transport.close()
3、密钥登录范例:
import paramiko
private_key = paramiko.RSAKey.from_private_key_file(r'E:\python\day9\id_rsa')   #密钥文件位置
ssh = paramiko.SSHClient()   #创建SSH对象
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())     #允许连接不在know_hosts文件中的主机
ssh.connect(hostname = '192.168.33.6', port = 22, username = 'root', pkey = private_key)   # 指定密钥连接服务器
stdin, stdout, stderr = ssh.exec_command('free -m')   # 执行命令
res, err = stdout.read(), stderr.read()   # 获取命令输出
result = res if res else err
print(result)
ssh.close()   # 关闭连接


 posted on 2017-12-03 14:48  super2feng  阅读(133)  评论(0)    收藏  举报