Python3.x:paramiko模块简析

作者: james_chang | 来源:发表于2018-02-22 23:50 被阅读34次

首先是这个模块的第一个应用

SSH客户端

这里通过一段代码来简单了解

import paramiko

# 实例化一个ssh客户端对象
ssh = paramiko.SSHClient()

# 自动在know_host中添加自己要连的机器,忽略这个验证,注意传入的参数paramiko.AutoAddPolicy()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

# 连接信息
ssh.connect(hostname='hostadresss', port=22, username='root', password='password')

# 传输命令,这里有三个返回值,按顺序第一个是标准输入,即你输入的命令,第二个标准输出,即命令返回值
# 第三个标准错误,报错的时候会返回给这个值,同时返回值不是固定而是变化的时候也会返回给这个值一个错误
stdin, stdout, stderr = ssh.exec_command('pwd')

# 读取输出
result = stdout.read()

# 打印输出
print(result)

# 关闭客户端
ssh.close()

这里要注意的就是连接时的验证和发送命令时的三个返回值

还有第二个版本使用私钥登陆(功能就是多)

import paramiko

# 声明私钥文件路径
private_key = paramiko.RSAKey.from_private_key_file('id_rsa')

# 生成ssh客户端实例
ssh = paramiko.SSHClient()

# 通过公共方式进行认证(不需要在known_hosts文件中存在)
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

# 连接服务器声明私钥
ssh.connect(hostname='45.32.131.167', port=22, username='root', pkey=private_key)

# 获得返回值
stdin, stdout, stderr = ssh.exec_command('pwd')

# 读
result = stdout.read()

# 打印
print(result)

# 关闭实例
ssh.close()

这个使用前不要忘了配置服务器端的ssh,要允许密钥登陆

然后是第二个应用

SFTP客户端

import paramiko

# 生成Transport实例传入ip和端口
transport = paramiko.Transport(('hostname', 22))

# 传入用户名密码连接
transport.connect(username='root', password='123')

# 生成SFTPClient实例传入上面连接后的实例
sftp = paramiko.SFTPClient.from_transport(transport)

# 上传文件
sftp.put('put_file_path', 'server_path')

# 下载文件
sftp.get('download_file_path', 'local_path')

# 关闭实例
transport.close()

这里要注意的是SFTP实例并不是一步创建的

转载请注明出处

python自学技术互助扣扣群:670402334

相关文章

  • Python3.x:paramiko模块简析

    首先是这个模块的第一个应用 SSH客户端 这里通过一段代码来简单了解 这里要注意的就是连接时的验证和发送命令时的三...

  • 简析 Swift 的模块系统

    简析 Swift 的模块系统 简析 Swift 的模块系统

  • python | 执行shell脚本

    python执行shell脚本1.远程:paramiko2.本地:subprocess 一、paramiko模块 ...

  • paramiko模块

    该模块基于SSH服务用于连接远程服务器并执行相关操作 SSHClient 用于连接远程服务器并执行基本命令 SFT...

  • python如何上传或下载ftp文件

    需要借助Paramiko,Paramiko模块是基于Python实现的SSH远程安全连接,用于SSH远程执行命令、...

  • python中paramiko模块的使用

    paramiko paramiko是一个用于做远程控制的模块,使用该模块可以对远程服务器进行命令或文件操作,值得一...

  • Mac环境 Python安装Paramiko模块

    最近在研究Python的时候需要用到paramiko模块,希望这篇博客能让大家少走弯路。 Paramiko简介 P...

  • python 学习笔记(paramiko模块)

    paramiko模块 paramiko是一个基于SSH用于连接远程服务器并执行相关操作(SSHClient和SFT...

  • python模块: paramiko

    paramiko模块提供了ssh及sft进行远程登录服务器执行命令和上传下载文件的功能。这是一个第三方的软件包,使...

  • Python paramiko 模块

    本文参考 http://www.361way.com/python-paramiko-ssh/3984.html ...

网友评论

    本文标题:Python3.x:paramiko模块简析

    本文链接:https://www.haomeiwen.com/subject/plrtxftx.html