python SSH2协议的远程控制的模块 paramiko 的基本使用方法

paramiko的基本使用方法


paramiko是一个基于SSH2协议的远程控制的模块,使用该模块可以对远程服务器进行命令或文件操作


ssh连接服务器

1.ssh server 建立 server public key ,对应文件/etc/ssh/ssh_host_*

2.ssh client 发送连接请求

3.ssh server 发送 server public key 给 ssh client

4.ssh client 比较 server public key ,并计算出自己的client pubic and private key

5.ssh client 发送 client public key 到 ssh server

6.ssh server 使用 server private key 解密


paramiko 安装

pip install paramiko

paramiko 使用

sshclient: 实现SSH

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import paramiko

hostanme = 'hostanme'
port = 22
username = 'username'
password = 'password'

# 建立一个SSH Client对象
ssh_client = paramiko.SSHClient()
# 允许将信任的主机自动加入到host_allow列表
ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# 调用connect方法连接服务器
ssh_client.connect(hostanme=hostname,port=port,username=username,password=password)

# 执行命令,返回三个变量,输入、输出和错误
stdin,stdout,stderr = ssh_client.exec_command('ls')

for i in stdout:
    print(i)
    
ssh_client.close()

transport:实现SFTP

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import paramiko

hostanme = 'hostanme'
port = 22
username = 'username'
password = 'password'

# 建立一个Trans对象
transport = paramiko.Transport((hostname,port))
# 建立连接
transport.connect(username=username,password=password)

# 建立一个SFTP Client对象
sftp_client = paramiko.SFTPClient.from_transport(transport)

# 文件上传
sftp_client.put('C:\\User\\Admin\\Desktop\\test.txt','/root/')
# 文件下载
sftp_client.get('/root/test.txt','C:\\User\\Admin\\Desktop')

sftp_client.close()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值