本节内容
paramiko模块
paramiko模块之SSHClient
paramiko模块之SFTPClient
paramiko模块之封装多个远程操作
堡垒机
1、实现思路
2、表结构
3、实现过程
4、window打开终端
paramiko模块
paramiko模块,基于SSH用于连接远程服务器并执行相关操作。
一、安装
pip3 install paramiko
paramiko模块之SSHClient
用于连接远程服务器并执行基本命令
基于用户名密码连接:
import paramiko
# 创建SSH对象
ssh = paramiko.SSHClient()
# 允许连接不在know_hosts文件中的主机
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# 连接服务器
ssh.connect(hostname='172.11.2.109', port=22, username='root', password='founder123')
# 执行命令
# stdin 交互输入的命令
# stdout 输出
# stderr 错误信息
stdin, stdout, stderr = ssh.exec_command('ls')
# 获取命令结果
result = stdout.read()
print(result.decode())
'''输出结果
anaconda-ks.cfg
install.log
install.log.syslog
installServer_nfs.sh
java
latest
redis-3.0.6
redis-3.0.6.tar.gz
sources.list
VMwareTools-9.10.5-2981885.tar.gz
vmware-tools-distrib
'''
SSHClient 内部封装 Transport
1 import paramiko 2 3 transport = paramiko.Transport(('hostname', 22)) 4 transport.connect(username='wupeiqi', password='123') 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()