记一次paramiko远程连接遇到的坑
背景:工作中遇到了一个问题,需要用到windows向windows连接(文件传发)以及,linux向windows连接(文件传发)的需求。
自然而然会考虑到用paramiko,然而paramiko我用的比较多的还是连接linux的操作,至于连接windows的操作没用过。在网上搜索一段时间后,发现网上的教程基本上没有。折腾一段时间后发现了winrm,winrm在命令发送比较简单,但是文件上传、下载,还是没有合适的路子(或者说适合自己的方法)。一番折腾后还是想自己研究一把paramiko。
问题1:在网上搜索方法的时候,发现别人可以直接用paramiko连接windows,并用psutil 获取cpu、内存等数据,代码和我们连接linux基本一样的,那么我也来试一下:
import paramiko
client=paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect(hostname='***',port=22,username='Administrator',password='***')
client.close()

思考1:也可能是因为windows不支持ssh连接,那么我就试一下transaport:
scp=paramiko.Transport((IP,22))
scp.connect(username=username,password=password)
sftp=paramiko.SFTPClient.from_transport(scp)
scp.close()
依然遇到了同样的问题
思考2:既然别人可以,代码应该就没有问题,那么会是什么问题。网上搜索一番,发现可能和openssh有关系,接着下载openssh
问题2:按照下面的教程在目标window10 的机器上面安装了openssh之后,再次尝试了一把,但是还是遇到了“[WinError 10061] 由于目标计算机积极拒绝,无法连接。”
https://www.jianshu.com/p/6e5bc39d386e
思考3:会不会因为是22 端口没有开启导致的,于是乎查看端口情况发现端口是开的
思考4:会不会是因为防火墙的原因,关闭防火墙之后发现还是同样的问题,此时的心态已经接近崩溃
问题3:即使我们目标端的windows的机器安装了openssh但是我们还是不能连接上去:

思考5:继续尝试后发现我的目标windows的机器可以通过ssh连接到其他的机器上面,但是我却不能ssh到目标机器上面,这时候似乎明白了什么。查看服务发现ssh启动的只有sshd服务,此时我们把ssh的服务端和客户端都打开应该问题就解决了
ps:其实正在发现问题所在是我在用exe版安装openssh的时候发现了下面的选项,exe版安装是默认按照客户端和服务器端的,而我们源码安装应该只有客户端。

记一次paramiko远程连接遇到的坑的更多相关文章
- windows server服务器上mysql远程连接失败的坑
windows server服务器上mysql远程连接失败的坑 背景:趁这阿里云活动,和朋友合伙买了个服务器,最坑的是没想到他买的是windows Server的,反正便宜,将就着用吧,自己装好了wa ...
- 记一次VNC远程连接Linux问题解决记录(5900端口测试、KDE桌面安装)
最近几天,到一个项目上安装Linux部署环境.由于服务器在机房,而进机房又比较麻烦,于是选择VNC远程连接Linux就显得自然而然了.以前也用过VNC,而且还经常使用,由于各个项目环境不太一样,这次也 ...
- 阿里云轻量应用服务器——配置MySQL远程连接(踩坑,LAMP+CentOS)
说在前面 本文讲解清晰,从0开始 如不能用Navicat等数据库软件远程登陆,请先检查:安全>防火墙中 是否添加了MYSQL的3306端口(ECS服务器请检查 安全组)如未添加,先点右上角“添加 ...
- paramiko远程连接linux服务器进行上传下载文件
花了不少时间来研究paramiko中sftpclient的文件传输,一顿操作猛如虎,最后就一直卡在了路径报错问题,疯狂查阅资料借鉴大佬们的心得,还是搞不好,睡了个午觉醒来,仔细一看原来是指定路径的文件 ...
- 阿里云部署Redis服务器远程连接问题
昨天在阿里云免费领了一个月的云服务器,就着最近学的SpringBoot,准备做一个SpringBoot与Redis的整合. 因为以前用的Redis都是安装在本地的,使用过程中没遇到什么大问题,可是一旦 ...
- python远程连接paramiko 模块和堡垒机实现
paramiko使用 paramiko模块是基于python实现了SSH2远程安全连接,支持认证和密钥方式,可以实现远程连接.命令执行.文件传输.中间SSH代理功能 安装 pip install pa ...
- 利用Paramiko模块远程连接Linux
使用Paramiko模块模拟SSH远程连接到服务器,并执行命令.(支持Tab键补全) 1.安装相关模块: 1)安装 Crypto 模块: 下载源码包解压 安装: sudo python setup.p ...
- python中使用paramiko模块并实现远程连接服务器执行上传下载
paramiko模块 paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接. 因此,如果需要使用SSH从一个平台连接到另外一个平台,进行一系 ...
- python paramiko模块:远程连接服务器
1. SFTP基于 用户名密码 登录服务器,实现上传下载: import paramiko transport = paramiko.Transport(()) # 生成trasport,配置主机名 ...
随机推荐
- Java 8 新特性-Stream更优雅的处理集合入门
Java 8 新特性之--Stream 一. 简单介绍 Stream是Java 8提出了的一种新的对集合对象功能的增强.它集合Lambda表达式,对集合提供了一些非常便利,高效的操作,使得代码具有非常 ...
- navicat12.0.29破解操作步骤
navicat12.0.29破解操作步骤 2018年07月11日 22:21:17 xijian0521 阅读数:1620 我的百度网盘地址: 下载点这里 以管理员身份运行 此注册机: 打开注册 ...
- Codeforces Gym101201B:Buggy Robot(BFS + DP)
题目链接 题意 给出一个n*m的地图,还有一个操作序列,你原本是要按照序列执行操作的,但是你可以修改操作:删除某些操作或者增加某些操作,问从'R'到'E'最少需要多少次修改操作. 思路 和上次比赛做的 ...
- JavaWeb知识点
- Java面试总结(一)
1.equals和==和hashcode “==”是运算符,比较两个变量的值是否相等 equals是Object类的方法.比较两个对象是否相等 hashcode是Object类的方法,返回一个 ...
- 图片去水印工具:Inpaint 7.2中文专业破解版下载及使用方法
下载地址: 点我 Inpaint 是一款可以从图片上去除不必要的物体,让您轻松摆脱照片上的水印.划痕.污渍.标志等瑕疵的实用型软件:简单说来,Inpaint 就是一款强大实用的图片去水印软件,您的图片 ...
- DAX 第二篇:计算上下文
计算上下文是计算公式的环境,任何DAX表达式都是在上下文中求值的.行上下文和筛选上下文是DAX中仅有的上下文类型,把这两种上下文称为计算上下文.计算上下文用于限定公式计算的环境,当上下文变化时,相同的 ...
- 【题解】埃及分数-C++
Description 在古埃及,人们使用单位分数的和(形如1/a的, a是自然数)表示一切有理数. 如:2/3=1/2+1/6,但不允许2/3=1/3+1/3,因为加数中有相同的. 对于一个分数a/ ...
- Linux运维跳槽必备
Linux运维跳槽必备的40道面试精华题 1.什么是运维?什么是游戏运维?1)运维是指大型组织已经建立好的网络软硬件的维护,就是要保证业务的上线与运作的正常, 在他运转的过程中,对他进行维护,他集合了 ...
- RabbitMQ实战(三)-高级特性
0 相关源码 1 你将学到 如何保证消息百分百投递成功 幂等性 如何避免海量订单生成时消息的重复消费 Confirm确认消息.Return返回消息 自定义消费者 消息的ACK与重回队列 限流 TTL ...