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

Python脚本不发送linux命令。我使用Paramiko进行远程SSH连接

Python脚本是一种使用Python编写的可执行脚本文件,它可以通过解释器直接运行。Python脚本可以用于自动化任务、数据处理、网络通信等各种应用场景。

Paramiko是一个Python库,用于实现SSH协议的远程连接和操作。通过Paramiko,我们可以在Python脚本中建立SSH连接,并执行远程服务器上的命令或操作文件。

远程SSH连接是一种通过SSH协议在本地计算机和远程服务器之间建立安全通信的方式。通过SSH连接,我们可以在本地计算机上执行远程服务器上的命令,或者将本地文件上传到远程服务器,实现远程操作和管理。

Paramiko提供了一系列的类和方法,用于建立SSH连接、执行远程命令、上传下载文件等操作。以下是使用Paramiko进行远程SSH连接的基本步骤:

  1. 安装Paramiko库:在Python环境中安装Paramiko库,可以使用pip命令进行安装:pip install paramiko
  2. 导入Paramiko库:在Python脚本中导入Paramiko库,以便使用其中的类和方法:import paramiko
  3. 创建SSHClient对象:使用Paramiko的SSHClient类创建一个SSHClient对象,用于建立SSH连接:ssh = paramiko.SSHClient()
  4. 设置SSH连接的认证方式:根据需要设置SSH连接的认证方式,可以使用用户名和密码、密钥文件等方式进行认证。以下是使用用户名和密码进行认证的示例代码:
  5. 设置SSH连接的认证方式:根据需要设置SSH连接的认证方式,可以使用用户名和密码、密钥文件等方式进行认证。以下是使用用户名和密码进行认证的示例代码:
  6. 执行远程命令:使用SSHClient对象的exec_command方法执行远程命令,并获取命令的输入、输出和错误信息。以下是执行远程命令的示例代码:
  7. 执行远程命令:使用SSHClient对象的exec_command方法执行远程命令,并获取命令的输入、输出和错误信息。以下是执行远程命令的示例代码:
  8. 关闭SSH连接:在完成远程操作后,使用SSHClient对象的close方法关闭SSH连接:ssh.close()

Paramiko的优势在于它是一个纯Python实现的SSH协议库,可以方便地在Python脚本中进行远程操作。它具有良好的跨平台性,可以在不同的操作系统上使用,并且提供了丰富的功能和灵活的配置选项。

使用Paramiko进行远程SSH连接的应用场景包括但不限于:

  • 自动化运维:通过Python脚本远程执行服务器管理命令,实现自动化运维任务。
  • 批量操作:通过Python脚本批量执行远程命令,如批量部署、批量配置等。
  • 数据处理:将本地计算机上的数据上传到远程服务器进行处理,或将远程服务器上的数据下载到本地进行分析。
  • 远程监控:通过Python脚本定时连接远程服务器,获取服务器状态信息或执行监控任务。

腾讯云提供了一系列与云计算相关的产品和服务,其中包括与远程SSH连接相关的产品。以下是腾讯云的一些相关产品和产品介绍链接地址:

  • 云服务器(CVM):腾讯云提供的弹性计算服务,可以创建和管理云服务器实例。产品介绍链接
  • 云监控(Cloud Monitor):腾讯云提供的监控服务,可以监控云服务器的运行状态和性能指标。产品介绍链接
  • 弹性公网IP(EIP):腾讯云提供的公网IP地址资源,可以用于云服务器的远程访问。产品介绍链接

请注意,以上只是腾讯云提供的一些相关产品,其他云计算品牌商也提供类似的产品和服务。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

使用VSCode的Remote-SSH连接Linux进行远程开发

使用密码登录 ? 保存后,重启sshd服务器,重启命令上面已给出。 使用密码连接SSH 找到你配置的Linux服务器: ? 输入密码,再回车: ? 然后打开文件夹即可开始编写代码: ?...使用CTRL + SHIFT + ~可以调出终端,就可以在终端操作命令,打开文件就可以写代码了。...这是在主目录中创建的隐藏目录(您可以使用“ ls -la”显示相信的所有文件)。可能是一些不正确的数据被缓存在那里,因此删除目录将使您的情况更加整洁。...如果还是不行,可以尝试重新使用ftp将本地公钥上传到Linux上,然后将其复制到authorized_keys文件中,设置权限,重启SSH服务器,重新连接 注意事项 在使用公钥第一次连接Linux时候....ssh/authorized_keys,并且重新设置权限,再重新尝试连接Linux,就不需要再输入密码了

8.9K73

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执行,此时可以通过在执行命令时添加额外的命令前缀来模拟

25620

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

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

6.5K80

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

导语 生产环境中使用paramikoSSH远程控制时,发现会有部分机器报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快速读取远程打屏信息了。

16.9K20

通过python 执行 nohup 生效的解决

通过paramiko模块ssh登录linux,然后用exec_command方法执行带有nohup的shell命令生效,python脚本如下: import paramiko import time...补充知识:paramiko远程服务器nohup阻塞问题 一、需求描述: 需要来回切换多台服务器(脚本命令不太熟),就用了pythonparamiko模块进行远程连接服务器,控制程序的停止和启动。...安装:pip install paramiko 二、问题描述: import paramiko # 创建SSH对象 ssh = paramiko.SSHClient() # 允许连接不在know_hosts...', port=22, username='xxx') # 执行命令 stdin, stdout, stderr = ssh.exec_command('cd ~/ ; nohup python3.6...run_test.py nohup_test.log 2 &1 &') # 获取命令结果 result = stdout.read() # 关闭连接 ssh.close() 这样连接服务器的时候确实可以执行

3.2K10

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.2K10

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.3K10

python实现ssh及sftp功能(实例代码)

1.在Linux上我们通过scp命令实现主机间的文件传送,通过ssh实现远程登录 ,比如 我们经常使用的xshell远程登录工具,就是基础ssh协议实现window主机远程登录Linux主机  下面简单的在...python实现这几个功能 下面使用paramiko模块,这个不是python的内置模块,直接通过pycharm下载这个模块, 第一步实现一个简单的ssh登录命令 代码如下: import paramiko...() result = res if res else err print(result.decode()) # 关闭连接 ssh.close()   登录并能实现简单的命令发送 和接收指令结果 ,这里面的方法写死了...,但总算连接成功了,应为开始虚拟机的在学习iptables加了许多规则,并且在ssh 的服务器端修改了默认端口一直 连不上,修改配置文件后设置允许远程主机远程连接 ,/etc/ssh/sshd_config...文件中配置     然后实现模拟Linux的scp 命令上传下载文件 ,使用paramiko的Transport 简单的测试代码如下 import paramiko transport = paramiko.Transport

1.4K20

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.1K20

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.5K20

借助Paramiko通过Python实现linux远程登陆及sftp的操作

paramiko是一个用于做远程控制的模块,使用该模块可以对远程服务器进行命令或文件操作,paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接...由于使用的是python这样的能够跨平台运行的语言,所以所有python支持的平台,如Linux, Solaris, BSD, MacOS X, Windows等,paramiko都可以支持,因此,如果需要使用...SSH从一个平台连接到另外一个平台,进行一系列的操作时,paramiko是最佳工具之一。...本文重点给大家介绍借助Paramiko通过Python实现linux远程登陆及sftp操作。 1....(如果不免密的话) 干扰信息太多,数据清理、格式化相当麻烦 代码实现不够优雅,可读性太差 ssh 连接不能复用,一次连接仅能执行一次命令 代码无法全平台,仅能在 Linux 和 OSX 上使用

3.6K20

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.3K10

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.1K61

Python基于模块Paramiko实现SSHv2协议

简介: ssh是一个协议,OpenSSH是其中一个开源实现,paramikoPython的一个库,实现了SSHv2协议(底层使用cryptography)。...有了Paramiko以后,我们就可以在Python代码中直接使用SSH协议对远程服务器执行操作,而不是通过ssh命令远程服务器进行操作。...SSHClient的作用类似于Linuxssh命令,是对SSH会话的封装,该类封装了传输(Transport),通道(Channel)及SFTPClient建立的方法(open_sftp),通常用于执行远程命令...即新建立ssh连接时不需要再输入yes或no进行确认 WarningPolicy 用于记录一个未知的主机密钥的python警告。...此为默认选项 exec_command():在远程服务器执行Linux命令的方法。 open_sftp():在当前ssh会话的基础上创建一个sftp会话。

1K00

一篇文章让你快速学习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 清理掉已经记录的主机。

681100

在家想远程公司电脑?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或其它方式得到该结果, 代码如下

1K10

python使用paramiko管理多台服务器

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

1.7K20
领券