1. 介绍:

paramiko是一个用于做远程控制的模块,使用该模块可以对远程服务器进行命令或文件操作,值得一说的是,fabric和ansible内部的远程管理就是使用的paramiko来实现。
安装: python3.6 -m pip install paramiko

2. 使用:

SSHClient

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

基于用户名密码连接:

#!/usr/bin/env python3
# _*_ coding:utf-8 _*_
import paramiko
ip,port = '10.0.3.60','22'
username,password = 'lishichao','123

# 创建ssh对象
ssh = paramiko.SSHClient()
# 解决ssh第一次连接,认证问题
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# 连接服务器
ssh.connect(ip,port,username,password)

# 执行命令
stdin,stdout,stderr = ssh.exec_command('hostname')     # stdin 标准输入,  stdout 命令执行的结果, stderr 命令执行错误的结果
# 获取命令结果 ret
= stdout.read() if ret: print(ret.decode('utf-8').strip()) else: print("命令执行失败") print(stderr.read().decode('utf-8').strip()) # 关闭连接 ssh.close() # 执行结果: b'docker-server\n' # byte 类型,需要decode转码

 

基于公钥密钥连接:

#创建秘钥对
ssh-keygen
# 推送到指定服务器
ssh-copy-id -i .ssh/id_rsa.pub  用户名字@192.168.x.xxx
前提: 分配公钥

相关文章: