堡垒机实例以及数据库操作

  • 先来学习paramiko模块
1.1、基于用户名和密码连接
  • 通过paramiko模块连接linux,并执行命令返回结果
#-*- coding:utf-8 -*-
# Author: li Shang

import paramiko

ssh = paramiko.SSHClient()                                  # 创建SSH对象
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())   # 允许连接不在know_hosts文件中的主机
ssh.connect(hostname='192.168.21.131', port=22, username='root', password='cine123456')    # 连接服务器

stdin, stdout, stderr = ssh.exec_command('df')              # 执行命令
res,err = stdout.read(),stderr.read()                       # 获取命令结果
result = res if res else err								# 三元运算
print(result.decode())

ssh.close()                                                 # 关闭连接
  • 通过paramiko模块,上传和下载文件
#-*- coding:utf-8 -*-
# Author: li Shang

import paramiko

transport = paramiko.Transport(( '192.168.21.131', 22 ))
transport.connect(username='root', password='cine123456')

sftp = paramiko.SFTPClient.from_transport(transport)

# ssh_client.py 上传至服务器 /tmp/test.py
sftp.put('D:\Python3.7.4\项目1\day15\ssh_client.py', '/tmp/test.py')

# 将remove_path 下载到本地 local_path
sftp.get('/tmp/ks-script-WQTD7c.log', '111.log')

transport.close()
1.2、基于公钥秘钥连接
  • 连接linux,并执行命令返回结果
import paramiko

private_key = paramiko.RSAKey.from_private_key_file('id_rsa')

# 创建SSH对象
ssh = paramiko.SSHClient()
# 允许连接不在know_hosts文件中的主机
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# 连接服务器
ssh.connect(hostname='192.168.21.131', port=22, username='root', pkey=private_key)

# 执行命令
stdin, stdout, stderr = ssh.exec_command('df')
# 获取命令结果
result = stdout.read()
print(result.decode())
# 关闭连接
ssh.close()
  • 通过paramiko模块,上传和下载文件
import paramiko
 
private_key = paramiko.RSAKey.from_private_key_file('id_rsa')
 
transport = paramiko.Transport(('192.168.21.131', 22))
transport.connect(username='root', pkey=private_key )
 
sftp = paramiko.SFTPClient.from_transport(transport)
# 将location.py 上传至服务器 /tmp/test.py
sftp.put('/tmp/location.py', '/tmp/test.py')
# 将remove_path 下载到本地 local_path
sftp.get('remove_path', 'local_path')
 
transport.close()
posted @ 2022-02-18 17:22  中國颜值的半壁江山  阅读(184)  评论(0)    收藏  举报