python怎么安装ssh模块
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python怎么安装ssh模块相关的知识,希望对你有一定的参考价值。
Python中使用SSH需要用到OpenSSH,而OpenSSH依赖于paramiko模块,而paramiko模块又依赖于pycrypto模块,因此要在Python中使用SSH,则需要先安装模块顺序是:pycrypto -> ecdsa -> paramiko 在这里我只想教你有网的情况下在线安装,进入C:\Python27\Lib\site-packages 目录(注:这个目录是所有的第三方 模块安装的目录)在在文件目录直接输入:cmd #进入命令模式,输入以下三个命令就可以了。
pip install pycrypto
pip install ecdsa
pip install paramiko
注:cmd 目录一定要对,希望能解决你的问题,若要离线安排要下载以上三个包。 参考技术A 你是不是安装遇到问题了,需要先装pycryto模块,安装pycryto需要有gcc如果我的回答没帮助到您,请继续追问。。本回答被提问者采纳
Python paramiko模块(实现ssh)
开发堡垒机之前,先来学习Python的paramiko模块,该模块基于SSH用于连接远程服务器并执行相关操作安装paramiko模块
pip3 install paramiko
基于用户密码方式
import paramiko
# 创建SSH对象
ssh = paramiko.SSHClient()
# 允许连接不在know_hosts文件中的主机
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# 连接服务器
ssh.connect(hostname="10.0.0.200", port=22, username=‘root‘, password=‘1‘)
# 执行命令
# stdin:标准输入(就是你输入的命令);stdout:标准输出(就是命令执行结果);stderr:标准错误(命令执行过程中如果出错了就把错误打到这里),stdout和stderr仅会输出一个
stdin, stdout, stderr = ssh.exec_command(‘df‘)
# 获取命令结果
result = (stdout.read().decode(‘utf-8‘)) # 这个有问题,不显示错误,可以修改一下,先判断stdout有没有值,如果输出没有,就显示错误
print(result)
# 关闭连接
ssh.close()
基于公钥密钥连接
import paramiko
# 指定私钥路径
private_key = paramiko.RSAKey.from_private_key_file(‘/root/.ssh/id_rsa‘)
# 创建SSH对象
ssh = paramiko.SSHClient()
# 允许连接不在know_hosts文件中的主机
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# 连接服务器
ssh.connect(hostname=‘10.0.0.171‘, port=22, username=‘root‘, pkey=private_key)
# 执行命令
stdin, stdout, stderr = ssh.exec_command(‘df‘)
# 获取命令结果
result = stdout.read()
print(result.decode())
# 关闭连接
ssh.close()
以上是关于python怎么安装ssh模块的主要内容,如果未能解决你的问题,请参考以下文章
怎么安装python模块,如何安装python模块,常用安装方式
怎么安装python模块,如何安装python模块,常用安装方式