Python parami,,一、使用SSHCli
Python parami,,一、使用SSHCli
一、使用
SSHClient:用于连接远程服务器并执行基本命令
1.基于用户名密码连接
1.使用SSH帮我们创建transport对象
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=‘192.168.124.32‘,port=22,username=‘name‘,password=‘‘) # 22是默认端口 9 10 # 执行命令11 stdin,stdout,stderr = ssh.exec_command(‘1s‘)12 # 获取命令结构13 result = stdout.read()14 # 关闭连接15 ssh.close()
2.自己创建transport对象
1 import paramiko 2 3 transport = paramiko.Transport((‘hostname‘,22)) 4 transport.connect(username=‘name‘,password=‘‘) 5 6 ssh.paramiko.SSHClient() 7 ssh._transport = transport # 创建对象 8 9 stdin,stdout,stderr = ssh.exec_command(‘df‘)10 print(stdout.read())11 12 transport.close()
2.用公共密钥进行连接
import paramiko private_key = paramiko.RSAKey.from_private_key_file(‘/home/auto/.shh/id_rsa‘) # 创建SSH对象 ssh = paramiko.SSHClient() # 允许连接不在know_hosts文件中的主机 ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) # 连接服务器 ssh.connect(hostname=‘192.168.124.32‘,port=22,username=‘name‘,password=‘‘) # 22是默认端口 # 执行命令 stdin,stdout,stderr = ssh.exec_command(‘1s‘) # 获取命令结构 result = stdout.read() # 关闭连接 ssh.close()
SFTPClient:用于连接远程服务器并执行基本命令(只能用transport连接)
1.基于用户密码的上传和下载
import paramikotransport = paramiko.Transport((‘hostname‘,22))transport.connect(username=‘name‘,password=‘‘)sftp = paramiko.SFTPClient.from_transport(transport)# 将location.py上传到服务器/tmp/test.pysftp.put(‘/tmp/将location.py‘,‘/tmp/test.py‘)# 将remove_path 下载到本地 local_pathsftp.get(‘remove_path‘,‘local_path‘)transport.close()
2.基于公钥密钥上传下载:(同上)
二、多条命令或操作同时使用
把连接、上传、下载、执行命令、关闭....等操作创建成方法,再合成一个类,通过对对象的操作来执行想要的功能
Python parami
相关内容
- appium-python-元素定位,,appium继承了s
- Python 面试题 字符串 删除多少个字符使得出现做多的字
- [转]Installing python 2.7 on centos 6.3. Follow this sequence exactl
- python环境下实现OrangePi Zero寄存器访问及GPIO控制,,
- 如何在python列表中查找某个元素的索引,,如何在pytho
- Python学习笔记(五)函数式编程-高阶函数,,高阶函数
- Python包含以下方法:,,Python包含以下
- Python3.7 lxml引入etree,,用xml代替lxml
- python 取两数的百分比,,Python 2.6
- 【python】文件的输入和输出,,1.os模块2.os
评论关闭