通过python操作linux
用到的模块包 paramiko
paramiko 模块
paramiko是一个用于做远程控制的模块,使用该模块可以对远程服务器进行命令或文件操作,paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,底层是用cryptography实现,我们如果希望远程登录主机或者远程sftp下载或者上传文件等都可以使用该库实现。
该模块详细教程:https://docs.paramiko.org/en/stable/api/sftp.html
远程连接linux主机
# -*- coding: utf-8 -*-
import paramiko
# 创建一个ssh对象
client = paramiko.SSHClient()
# 如果之前没有,连接过的ip,会出现选择yes或者no的操作,自动选择yes
client.set_missing_host_key_policy(paramiko.AutoAddPolicy)
# 连接服务器
client.connect(hostname='192.168.149.153', # 主机地址
port=22, # ssh端口
username='root', # 用户名
password='123456' # 密码
)
command="df -h" # shell操作命令
#执行命令
stdin,stdout,stderr = client.exec_command(command)
#获取结果
result=stdout.read().decode('utf-8')
print(result)
#关闭链接
client.close()