首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Paramiko远程操作Linux服务器

本篇将介绍一个Python的第三方库Paramiko,使用Paramiko,我们可以在Python脚本中进行SSH连接Linux服务器并远程执行Linux命令。...例如要想在Linux服务器上进行测试环境的部署,传统的做法是使用SSH工具(例如:Xshell、Xftp、FinalShell、secureCRT、PuTTY等)连接远程服务器,然后手动在Linux服务器上输入一条一条的命令...其实每次搭建环境所用的Linux命令几乎都是相同的,于是我们就可以借助Paramiko,将这些命令编写成Python脚本,进而实现自动搭建测试环境。...安装及使用 安装Paramiko库 pip install paramiko 安装完成后,可以使用以下代码进行远程操作Linux服务器 # author: 测试蔡坨坨 # datetime: 2023...使用cd命令进行目录切换时不生效 当使用Paramiko库远程执行命令时,cd命令无法直接切换目录,这是因为cd是一个shell内置命令,无法直接通过Paramiko执行,此时可以通过在执行命令时添加额外的命令前缀来模拟

32420

Python远程控制模块paramiko遇到的问题及解决记录

最近一直在开发自动化运维发布平台,底层命令行、文件通道主要基于 paramiko 模块,使用过程中遇到各种各样的问题,本文主要用于收集问题及解决记录,以备后续使用。...一、Error reading SSH protocol banner 连接错误 这个关键词,在百度、谷歌一搜一大把的提问,也有少部分给出了解决方案,但是最终都无法解决,我经过不断尝试和解读 paramiko...二、paramiko 远程执行后台脚本“阻塞”问题 我写的远程命令通道上线之后,发现在远程脚本中后台再执行另一个脚本,通道会一直等待后台脚本执行完成才会返回,有时甚至会僵死。...输出的字符会先存放在缓冲区,等按下回车键时才进行实际的 I/O 操作,导致 paramiko 远程命令产生等待问题。而 stderr(标准错误),是不带缓冲的,这使得出错信息可以直接尽快地显示出来。...所以,这里只要将脚本执行的标准输出重定向到错误输出(1>&2),然后 paramiko 就可以使用 stderr 快速读取远程打屏信息了。

7.7K80
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Python 远程控制模块 paramiko 问题解决记录

    导语 生产环境中使用paramiko作SSH远程控制时,发现会有部分机器报Error reading SSH protocol banner错误,尝试使用ssh命令连接此机器,只是卡半天,最终还是能够正常登陆...一、Error reading SSH protocol banner连接错误 这个关键词,在百度、谷歌一搜一大把的提问,也有少部分给出了解决方案,但是最终都无法解决,我经过不断尝试和解读paramiko...我看到有个timeout和transport.py,就想到现网那些报Error reading SSH protocol banner错误的机器也是非常卡,而且目测了下发起paramiko连接到报错的时间...二、paramiko远程执行后台脚本“阻塞”问题 我写的远程命令通道上线之后,发现在远程脚本中后台再执行另一个脚本,通道会一直等待后台脚本执行完成才会返回,有时甚至会僵死。...这里只要将脚本执行的标准输出重定向到错误输出(1>&2),然后paramiko就可以使用stderr快速读取远程打屏信息了。

    17.6K20

    【SSH】解决使用SSH命令远程连接Linux服务器加载访问慢,连接超时断开等问题

    一、参考链接 阿里巴巴开源镜像站-OPSX镜像站-阿里云开发者社区 【阿里云镜像】使用阿里云openssh镜像安装配置SSH服务_xyb的博客-CSDN博客_openssh 阿里云 SSH登录很慢问题的解决..._服务器应用_Linux公社-Linux系统门户网站 (linuxidc.com) ssh超时(ssh长连接ClientAliveCountMax) - 陳聽溪 - 博客园 (cnblogs.com)...二、问题描述 这段时间使用虚拟机装载了CentOS 7.9版本的Linux操作系统,配置好相关信息参数后,发现使用SSH命令远程连接访问服务器时,总是需要等待几十秒,不能直接按完回车后,立即跳出输入登录密码的命令提示符...ClientAliveInterval 60表示每分钟向客户端发送一次,然后客户端响应,这样保持长时间连接的状态,SSH远程连接不断开。...2、重启SSH服务 # systemctl start sshd # systemctl status sshd Ⅲ、SSH连接测试 配置生效,已经能够快速连接。

    6.3K10

    用Python远程登陆服务器的最佳实践

    来源 | Python编程时光(ID: Cool-Python) 在使用 Python 写一些脚本的时候,在某些情况下,我们需要频繁登陆远程服务去执行一次命令,并返回一些结果。...(有点土),可读性太差 痛点四:ssh 连接不能复用,一次连接仅能执行一次 痛点五:代码无法全平台,仅能在 Linux 和 OSX 上使用 为了解决这几个问题,我搜索了全网关于 Python ssh 的文章...ssh连接,执行两次命令,可实际上,你可以在远程机器上,执行 top 命令看到已连接的终端的变化,会先 +1 再 -1,说明两次命令的执行是通过两次连接实现的。...然后你可以参考如下这段代码,在 Linux/OSX 系统下进行远程连接 import paramiko ssh = paramiko.SSHClient() # 允许连接不在know_hosts文件中的主机...ssh 到远程服务器去获取一些信息,那么我把 Paramiko 推荐给你。

    2.9K20

    简单的Python脚本,实现ssh登录配置路由器

    简介 paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接。...由于使用的是python这样的能够跨平台运行的语言,所以所有python支持的平台,如Linux, Solaris, BSD, MacOS X, Windows等,paramiko都可以支持。...因此,如果需要使用SSH从一个平台连接到另外一个平台,进行一系列的操作时,paramiko是最佳工具之一。 此外,由于常见的交换机都支持ssh,那么使用paramiko控制交换机变成现实。...安装 pip 安装方式 pip install paramiko 如果没有安装pycrypto,则需要先安装pycrypto库 使用 paramiko提供了多种连接方式,在此我们使用ssh的方式连接交换机并发送命令以实现配置交换机的目的...根据上面视频可看出ssh成功连接到路由器的日志信息,以及loopback0添加成功的情况。测试python脚本成功,实验至此完成。 END

    1.4K10

    Python执行或远程执行shell命令

    最近想要实现通过脚本循环再Linux下运行shell命令,经过探索发现使用Python语言有几种解决方案,在此简单记录。...返回值是类文件对象,获取结果要采用read()或者readlines() val = os.popen('ls').read() # 执行结果包含在val中 方案二:脚本远程执行命令 在 Python.../usr/bin/python import paramiko 使用方法大致如下: # 连接方法 def ssh_connect( _host, _username, _password ):...ssh_fd ): _ssh_fd.close() 方案三:使用SecureCRT脚本 该方法参见此前的博文:SecureCRT 下 Python 脚本编写 参考文献 Python学习总结 06...paramiko 远程执行命令:https://www.cnblogs.com/wangshuo1/p/6265360.html Python模块学习 - Paramiko:https://www.cnblogs.com

    7.3K20

    使用 Rust 实现连接远程 Linux 服务器、发送文件、执行命令

    使用 Rust 实现连接远程 Linux 服务器、发送文件、执行命令 一、Rust 概述 Rust 已经听了无数遍,我很清楚它很强!但我也刚了解到它比较难学!那么加上 ChatGPT 呢?...[allow(unused_assignments)] // 禁用未使用赋值的警告 use std::io::{Read, Write}; use std::path::Path; use ssh2:...Session; const PROGRESS_UPDATE_INTERVAL: usize = 1024 * 1024; // 每传输 1MB 打印一次进度信息 fn main() { // 连接远程服务器...let tcp = std::net::TcpStream::connect("222.222.222.222:22").unwrap(); // 连接到远程服务器 let mut sess...sess.userauth_password("root", "222222222").unwrap(); // 使用用户名和密码进行身份验证 // 执行远程命令 let mut

    9010

    python安装需要安装paramiko

    2.paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接。...由于使用的是python这样的能够跨平台运行的语言,所以所有python支持的平台,如Linux,Solaris,BSD,MacOSX,Windows等,paramiko都可以支持,因此,如果需要使用SSH...下面是两种使用paramiko连接到linux服务器的代码 方式一: ssh = paramiko.SSHClient()ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy...如果linux服务器开放了22端口,在windows端,我们可以使用paramiko远程连接到该服务器,并执行任意命令,然后通过print或其它方式得到该结果, 代码如下: #!...() ssh.close() 其中的”你的命令”可以任意linux支持的命令,如一些常用的命令: df:查看磁盘使用情况uptime:显示系统运行时间信息cat:显示某文件内容mv/cp/mkdir/rmdir

    1.6K20

    websocket+Django+python+paramiko实现web页面执行命令并实时输出

    paramiko paramiko模块,基于SSH用于连接远程服务器并执行相关操作。 shell脚本 /opt/test.sh #!... = paramiko.SSHClient() #     ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) #     ssh.connect...                command = 'bash /opt/test.sh'#这里是要执行的命令或者脚本                                  # 远程连接服务器...服务器 这里使用的是linux服务器,系统是 ubuntu-16.04.4-server-amd64 脚本 /opt/test.sh 就是上面的内容,已经设置了755权限 启动项目 使用Pycharm启动...测试命令 除了执行脚本,还可以执行其他命令,比如安装ntpdate 修改views.py,将 command 修改一下 command = 'apt-get install -y ntpdate'#这里是要执行的命令或者脚本

    3.2K61

    Python执行Linux命令、上传下载远程文件

    大家好,我是辰哥 相信大家应该都接触过Linux操作系统(Ubuntu、Centos等),那么在使用的Linux操作系统需要使用一些远程ssh工具,尤其是公网服务器。...今天辰哥就来教大家如何用Python连接远程Linux服务器,实现执行命令和上传文件。...这里用到的Python库是Paramiko 核心知识点(亮点): 1、Python连接远程Linux服务器 2、执行命令并返回结果 3、上传文件到远程Linux服务器 4、从远程Linux下载文件 01...连接Linux服务器 # 获取Transport实例 tran = paramiko.Transport(('远程Linux的ip', 22)) # 连接SSH服务端,使用password tran.connect...04 小结 本文讲解了Paramiko库,并讲解ssh和sftp两大组件,设计的核心知识点(亮点): 1、Python连接远程Linux服务器 2、执行命令并返回结果 3、上传文件到远程Linux服务器

    2.5K10

    一篇文章让你快速学习Python编程自动化开发学习9-paramiko模块

    第三方库的安装 下面要讲的paramiko是一个第三方库。这是第一次使用到第三方库,要使用第三方库需要先进行安装。不过现在安装过程比较简单,一条命令便可以完成库的下载和安装。...下面就用paramiko模块举例安装的方法。 使用系统命令行安装 安装第三方库,建议直接用pip安装。Windows和Linux都适用 pip命令不在环境变量中,所以无法直接运行。...paramiko模块 paramiko模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接。...SSHClient 可以实现连接远程服务器并执行基本命令 上面例子中的第二句 ssh.set_missing_host_key_policy(paramiko.MissingHostKeyPolicy...如果你有安装的第三方ssh应用,可能会在别的地方。 linux系统中,可以用命令 $ ssh-keygen -R 清理掉已经记录的主机。

    709100

    在家想远程公司电脑?Python +微信一键连接

    作者 | 阿文 转载自 CSDN(ID:CSDNnews) 有时候需要远程家里的台式机使用,因为我平时都是用 MAC 多,但是远程唤醒只能针对局域网,比较麻烦,于是我想用微信实现远程唤醒机器。...Linux 主机需要能够远程访问,我这里是有 FRP 将树莓派的端口映射到我的公网 Linux 主机上。所以可以随时远程 SSH 过去。 Windows 机器的网卡必须是有线连接,支持网络唤醒功能。...开机实现思路 首先通过微信发送开机指令,这里我使用的是 itchat 程序会调用 Paramiko 库去 SSH 远程到内网的树莓派执行 WakeOnLan 命令去唤醒 Windows 主机。...,如果为64,则说明 ping 成功,设备已经联网,可以进行远程连接了,否则发送失败消息 if sshConStatus == '64': connect_ok_time...这样方便远程,如果是Linux 则不需要开启 ssh 就可以了。

    1.2K20

    python paramiko模块简介

    python paramiko模块简介 一:简介     paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接。     ...SSH从一个平台连接到另外一个平台,进行一系列的操作时,paramiko是最佳工具之一。     ...使用paramiko可以很好的解决以上问题,比起前面的方法,它仅需要在本地上安装相应的软件(python以及PyCrypto),对远程服务器没有配置要求,对于连接多台服务器,进行复杂的连接操作特别有帮助...() 四,与linux连接 下面是两种使用paramiko连接到linux服务器的代码 方式一: ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy...运行任意命令,并将结果输出 如果linux服务器开放了22端口,在windows端,我们可以使用paramiko远程连接到该服务器,并执行任意命令,然后通过 print或其它方式得到该结果, 代码如下

    1.1K10

    python使用paramiko管理多台服务器

    痛点 举个工作中常见的例子,现有这样的需求:需要使用mac客户端,远程连接到Linux服务器,查看上面的文件大小,通常使用的方法是如下几种: 用telnet 用PUTTY 用SCP 用XManager等...paramiko仅需要在本地上安装python以及PyCrypto,对于连接多台服务器,进行复杂及重复的操作的操作特别有帮助。...paramiko 介绍 paramiko是用python语言写的一个第三方库,支持加密认证的方式,遵循SSH2协议,可以进行远程服务器的连接。...能够跨平台运行的语言,支持多平台,如Linux、MacOS、Windows等。因此,如果需要使用SSH从一个平台连接到另外一个平台,进行一系列的操作时,paramiko是一个不错的选择。...下面是三种使用paramiko连接到Linux服务器的代码。

    1.8K20

    python的paramiko模块

    paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接。  ...由于使用的是python这样的能够跨平台运行的语言,所以所有python支持的平台,如Linux, Solaris, BSD, MacOS X, Windows等,paramiko都可以支持,因此,如果需要使用...SSH从一个平台连接到另外一个平台,进行一系列的操作时,paramiko是最佳工具之一。...一、安装paramiko模块 [root@yaoliang ~]# pip install paramiko 二、远程连接 1、方法一 import paramiko ssh = paramiko.SSHClient...,self.password,timeout=10) # 连接远程服务器             stdin, stdout, stderr = ssh.exec_command(comm)  # 执行远程服务器上的脚本

    56230

    基于Python实现前端自动化打包部署

    难点分析 要想实现打包,核心需要考虑下面2个问题: 在 python 脚本中如何去执行前端的打包命令npm run build(这里以vue项目作为测试) 在 python 脚本中如何连接服务器将打包好的问题上传到服务器的指定目录中去...如果要向程序或者脚本传递参数,可以使用空格分隔程序及多个参数,该方法返回结果如果为 0,则表示命令执行成功,其它值则表示错误。 这样就解决了第一个问题。...关于服务器连接这一块,可以使用python的一个第三方模块 paramiko,它实现了SSHv2协议,允许我们直接使用SSH协议对远程服务器执行操作,关于 paramiko 的更多知识和用法,请戳这里...(r'df -h')) 复制代码 我们连接到服务器并尝试调用 linux 中的 df -h 命令查看我们系统文件系统的磁盘使用情况,不出意外的话,会看到控制台返回的信息 ps:命令 df -h 前面的...可以看到python 在语法上的简洁和优雅,这一点也是让我感觉还是挺舒服的,对我个人来说,可能后面更多是作为一门工具语言来使用,最大程度的去解决实际问题。

    80230

    原来Python是这样连接远程主机的,你会吗?

    导语: 在软件测试的过程中,涉及到远程Linux主机环境测试的时候,难免会遇到需要执行shell命令的场景,比如通过shell命令去配置一些环境或者去检查用例执行的结果等等,那么就是用到了比较常用的工具...有了Paramiko以后,我们就可以在Python代码中直接使用SSH协议对远程服务器执行操作,而不是通过ssh命令对远程服务器进行操作。下面主要介绍一下Paramiko的一些相关概念。...即新建立ssh连接时不需要再输入yes或no进行确认 WarningPolicy 用于记录一个未知的主机密钥的python警告。...此为默认选项 (3) exec_command():在远程服务器执行Linux命令的方法。 在这里插入图片描述 (4) open_sftp():在当前ssh会话的基础上创建一个sftp会话。...; ## -cmd shell 命令 ## -put 本地文件 远程文件 ## -get 远程文件 本地文件 print("批量执行脚本".center(50,"*")) while True

    2.1K40

    作为Devops开发者,使用paramiko库远程执行 ssh 命令、上传文件、下载文件等操作都是需要知道的!

    在win10的系统下,本来想要python3直接调用ansible库进行远程执行的,但是很可惜,ansible是基于linux系统的ssh服务进行远程调用,不太兼容windows。...那么下面来使用paramiko库,直接手写一个ssh远程调用。...介绍 paramiko 遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接,可以实现远程文件的上传,下载或通过ssh远程执行命令。...使用ipython3远程执行ssh命令 D:\pythonProject\locust_auto_test>ipython3 Python 3.7.1 (v3.7.1:260ec2c36a, Oct 20...获取当前路径的拼接方式不同,所以linux路径我还是直接使用字符串写远程路径的方式。

    53410

    paramiko模块

    介绍 ssh是一个协议,OpenSSH是其中一个开源实现,paramiko是Python的一个库,实现了SSHv2协议(底层使用cryptography)。...有了Paramiko以后,我们就可以在Python代码中直接使用SSH协议对远程服务器执行操作,而不是通过ssh命令对远程服务器进行操作。...由于paramiko属于第三方库,所以需要使用如下命令先行安装 pip3 install paramiko 组件 SSHClient的作用类似于Linux的ssh命令,是对SSH会话的封装,该类封装了传输...1.2 exec_command方法 #远程命令执行方法,该命令的输入与输出流为标准输入(stdin)、输出(stdout)、错误(stderr)的Python文件对像。...Linux的sftp命令,是对SFTP客户端的封装,用以实现远程文件操作,如文件上传、下载、修改文件权限等操作。

    1.3K21
    领券