python之旅十第十篇paramiko模块

Posted Dicky_Zhang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python之旅十第十篇paramiko模块相关的知识,希望对你有一定的参考价值。

paramiko模块介绍

ssh的远程连接

基于用户名密码的连接

技术分享图片
 1 import paramiko
 2   
 3 # 创建SSH对象
 4 ssh = paramiko.SSHClient()
 5 # 允许连接不在know_hosts文件中的主机
 6 ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
 7 # 连接服务器
 8 ssh.connect(hostname=x.x.x.x, port=22, username=xiaoli, password=123456)
 9   
10 # 执行命令
11 stdin, stdout, stderr = ssh.exec_command(df)
12 # 获取命令结果
13 result = stdout.read()
14   
15 # 关闭连接
16 ssh.close()
View Code

基于封装的transport的连接

技术分享图片
 1 import paramiko
 2 
 3 #1 创建transport对象
 4 transport = paramiko.Transport((x.x.x.x, 22))
 5 transport.connect(username=xiaoli, password=123456)
 6 
 7 ssh = paramiko.SSHClient()
 8 ssh._transport = transport
 9 
10 stdin, stdout, stderr = ssh.exec_command(df)
11 print stdout.read()
12 
13 transport.close()
View Code

基于公钥密钥连接

技术分享图片
 1 跟密码连接差不多,只是密码的地方变成了私钥
 2 
 3 import paramiko
 4  
 5 #私钥路径
 6 private_key = paramiko.RSAKey.from_private_key_file(/home/auto/.ssh/id_rsa)
 7  
 8 # 创建SSH对象
 9 ssh = paramiko.SSHClient()
10 # 允许连接不在know_hosts文件中的主机
11 ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
12 # 连接服务器
13 ssh.connect(hostname=x.x.x.x, port=22, username=xiaoli, key=private_key)
14  
15 # 执行命令
16 stdin, stdout, stderr = ssh.exec_command(df)
17 # 获取命令结果
18 result = stdout.read()
19  
20 # 关闭连接
21 ssh.close()
View Code

基于封装的transport的连接

技术分享图片
 1 同理,跟上边的差不多
 2 
 3 import paramiko
 4 
 5 private_key = paramiko.RSAKey.from_private_key_file(/home/auto/.ssh/id_rsa)
 6 
 7 transport = paramiko.Transport((x.x.x.x, 22))
 8 transport.connect(username=xiaoli, pkey=private_key)
 9 
10 ssh = paramiko.SSHClient()
11 ssh._transport = transport
12 
13 stdin, stdout, stderr = ssh.exec_command(df)
14 
15 transport.close()
View Code

 

以上是关于python之旅十第十篇paramiko模块的主要内容,如果未能解决你的问题,请参考以下文章

Python进阶第十篇模块(上)

python的学习之旅---paramiko 模块

python全栈开发第十篇Python常用模块二(时间randomossys和序列化)

Python之路,第十篇:Python入门与基础10

Python之路第十篇--HTML

Python 学习 第十篇 CMDB用户权限管理