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

Paramiko exec_command()不执行命令

Paramiko是一个用于Python的SSH客户端库,可以用于远程执行命令、传输文件等操作。其中的exec_command()方法用于执行远程命令。

exec_command()方法的使用格式为:

代码语言:txt
复制
stdin, stdout, stderr = ssh.exec_command(command)

参数command是要执行的远程命令。

该方法返回三个文件对象:stdin、stdout和stderr。可以通过这些文件对象来读取命令的输入、输出和错误信息。

  • stdin:用于向远程命令发送输入。
  • stdout:用于获取远程命令的输出。
  • stderr:用于获取远程命令的错误信息。

exec_command()方法的优势包括:

  1. 简单易用:Paramiko提供了简洁的API,使得远程命令执行变得简单易用。
  2. 安全性:Paramiko使用SSH协议进行通信,提供了加密和身份验证机制,确保通信的安全性。
  3. 跨平台支持:Paramiko可以在多个操作系统上运行,包括Windows、Linux和MacOS等。

exec_command()方法的应用场景包括:

  1. 远程服务器管理:可以通过exec_command()方法执行远程服务器上的命令,进行服务器管理和配置。
  2. 自动化脚本:可以使用Paramiko库编写自动化脚本,通过exec_command()方法执行远程命令,实现自动化操作。
  3. 分布式计算:可以使用Paramiko库在多台服务器上执行命令,实现分布式计算。

腾讯云提供了云服务器(CVM)产品,可以用于搭建云计算环境。您可以使用Paramiko库结合腾讯云云服务器产品进行远程命令执行。

更多关于Paramiko库的信息和使用示例,请参考腾讯云的官方文档: Paramiko官方文档

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

相关·内容

通过python 执行 nohup 生效的解决

通过paramiko模块ssh登录linux,然后用exec_command方法执行带有nohup的shell命令生效,python脚本如下: import paramiko import time...', '123456') ssh.exec_command('nohup ping localhost & \n') time.sleep(1) 脚本执行完之后ping进程并没有继续运行,这可能是因为exec_command...', port=22, username='xxx') # 执行命令 stdin, stdout, stderr = ssh.exec_command('cd ~/ ; nohup python3.6...) # 添加下面代码 transport = ssh.get_transport() channel = transport.open_session() # 执行命令 此方法没有返回值 channel.exec_command...logger.info(f"服务器---{easy_conn.connect_host['ip']}暂时没有任务") easy_conn.quit() 以上这篇通过python 执行 nohup 生效的解决就是小编分享给大家的全部内容了

3.2K10

解决paramiko执行命令超时的问题

问题:paramiko远程执行命令,需要等到命令返回信息,如果命令执行时间比较长,返回信息就需要等很久 方案: 1、使用nohup + 待执行命令 + & ,使用后台执行的方式,应该可以快速返回 2、设置...paramiko执行命令等待超时时间 stdin, stdout, stderr = self.client.exec_command(cmd,timeout=10,get_pty=True)...其实上面的两种方案都不可行:方案1,需要优化,下面这种直接调用的方式会导致test.sh启动起来 stdin, stdout, stderr = self.client.exec_command(‘...exit 0 脚本3:test.py import paramiko client = paramiko.SSHClient() client = paramiko.SSHClient() client.set_missing_host_key_policy...执行命令超时的问题就是小编分享给大家的全部内容了,希望能给大家一个参考。

3.7K20

更优雅地远程操作服务器:Paramiko库的实践

() # 自动添加策略,保存服务器的主机名和密钥信息,如果添加,那么不再本地know_hosts文件中记录的主机将无法连接 ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy...ssh_stdout, ssh_stderr = session.exec_command("ls -l") content = ssh_stdout.read() return session 2.执行命令...使用exec_command执行命令会返回三个信息: 1、标准输入内容(用于实现交互式命令)--stdin 2、标准输出(保存命令的正常执行结果)--stdout 3、标准错误输出(保存命令的错误信息...username, password, content): session = connect_with_password(host, username, password) #使用exec_command...方法执行命令,并使用变量接收命令的返回值并用print输出 stdin, stdout, stderr = session.exec_command(content) return stdout.read

54120

python之ssh连接

2、exec_command方法 远程命令执行的方法 exec_command(self,command,bufsize=-1) 参数: Command  str :命令串 Bufsize  int:文件缓冲区大小...stderr中 print(stdout.read().decode()) # 关闭连接 ssh.close() 2 基于用户名和密码的 transport 方式登录 方法1是传统的连接服务器、执行命令...、关闭的一个操作,有时候需要登录上服务器执行多个操作,比如执行命令、上传/下载文件,方法1则无法实现,可以通过如下方式来操作 # 实例化一个transport对象 trans = paramiko.Transport..._transport = trans # 执行命令,和传统方法一样 stdin, stdout, stderr = ssh.exec_command('df -hl') print(stdout.read...'192.168.2.129', port=22, username='super', pkey=pkey) # 执行命令 stdin

2.6K10

python paramiko模块讲解

使用Paramiko库中的PyCrypto能够让你轻松使用SSH2协议。 Paramiko的安装方法网上有很多这样的帖子,这里就不描述了。这里主要讲如何使用它。...SSHClient对象的exec_command()在服务端执行命令,下面是具体代码:  #实例化SSHClient     client = paramiko.SSHClient()    #自动添加策略...    client.connect(ip,username=user,password=passwd)    #打开一个Channel并执行命令     stdin,stdout,stderr = ...SSHClient     client.close()    SSH客户端实现方案二,执行远程命令 这个方案是将SSHClient建立连接的对象得到一个Transport对象, 以Transport对象的exec_command...()在服务端执行命令,下面是具体代码: #实例化SSHClientclient = paramiko.SSHClient() #自动添加策略,保存服务器的主机名和密钥信息 client.set_missing_host_key_policy

2K10

paramiko模块

1.2 exec_command方法 #远程命令执行方法,该命令的输入与输出流为标准输入(stdin)、输出(stdout)、错误(stderr)的Python文件对像。...exec_command(command, bufsize=-1, timeout=None, get_pty=False, environment=None) command(str类型),执行的命令串...AutoAddPolicy,目标添加主机名及主机密钥到本地HostKeys对象,并将其保存,不依赖load_system_host_keys()的配置,即使~/.ssh/hnown_hosts不存在也产生影响...exec_command() print(stdout.read().decode('utf-8')) #打印命令执行结果,得到Python列表形式,可以使用stdout_readlines...#Python splitlines() 按照行('\r', '\r\n', \n')分隔,返回一个包含各行作为元素的列表,如果参数 keepends 为(默认值) False,包含换行符,如果为 True

1.3K21

Python建立ssh连接|paramiko实践

之前写了一篇Python调用系统命令的六种方法,但是执行linux命令时,需要在本地运行,如果想远程执行命令,就要用到另一个库paramiko。...允许 look_for_keys=True 是否在~/.ssh中搜索私钥文件,默认为True 允许 compress=False, 是否打开压缩 2.exec_command方法,执行远程命令的方法 exec_command...()) # 连接服务器 ssh.connect('192.168.1.120',22,'root','123456') # 执行命令 stdin, stdout, stderr = ssh.exec_command..._transport = transport # 执行命令,和传统方法一样 stdin, stdout, stderr = ssh.exec_command('date') print (stdout.read...('/Users/ch/.ssh/id_rsa') #实例化SSHClient client = paramiko.SSHClient() #自动添加策略,保存服务器的主机名和密钥信息,如果添加,那么不再本地

2.6K51

paramiko模块——ssh远程连接服务器并执行命令

paramiko模块——ssh远程连接服务器并执行命令 通过ssh远程连接服务器并执行相应的命令,类似于Xshell ansible用来批量管理远程服务器,底层其实用的就是paramiko模块 安装 pip3...install paramiko 使用 paramiko模块即支持用户名密码的方式操作服务器 也支持公钥私钥的方式操作服务器 并且实际生产中公钥私钥用的较多,因为密码是敏感信息 用户名和密码的方式执行命令..."""执行命令 用户名和密码的方式""" # 创建对象 ssh = paramiko.SSHClient() # 允许链接不在know_hosts文件中的主机 ssh.set_missing_host_key_policy...(hostname='172.16.219.173', port=22, username='root', pkey=private_key) # 执行命令 stdin, stdout, stderr...至此对象内容就既有执行命令的连接又有上传下载链接 ssh = paramiko.SSHClient() ssh.

3K10

python paramiko模块

paramiko模块是python中很重要的模块,他的功能呢主要分为两大块功能。一个是模拟SSH功能登录到远程主机上执行命令。一个是模拟SFTP功能传输文件。...(hostname='172.16.1.101', port=22, username='wgw', password='123456') # 执行命令 stdin, stdout, stderr = ...(('172.16.1.101', 22)) transport.connect(username='wgw', password='123456') #这个方法还是必须要加上的还需要调用exec_command...        #调用连接方法连接服务器         self.connect()         #调用paramiko的SSH方法实现远程执行命令         ssh = paramiko.SSHClient...__transport         ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())         #远程执行命令

83630

Paramiko远程操作Linux服务器

本篇将介绍一个Python的第三方库Paramiko,使用Paramiko,我们可以在Python脚本中进行SSH连接Linux服务器并远程执行Linux命令。...='服务器地址', port='端口', username='用户名', password='密码') # 执行远程命令 # 使用exec_command()方法执行远程命令,并使用stdout对象获取命令的输出...使用cd命令进行目录切换时生效 当使用Paramiko库远程执行命令时,cd命令无法直接切换目录,这是因为cd是一个shell内置命令,无法直接通过Paramiko执行,此时可以通过在执行命令时添加额外的命令前缀来模拟...对于这种内置命令生效的问题,我们的解决方案如下: # 切换目录 command = 'cd /opt && your_command' # 在目标目录中执行其他命令 stdin, stdout, stderr...:param error: 是否打印错误信息,默认为True :return: """ print('\n' + "=============== 开始执行命令

26820

网络工程师学Python-34-SSH客户端和服务器库Paramiko

在本文中,我们将介绍如何使用Paramiko库来建立SSH连接、执行远程命令、传输文件等。图片安装Paramiko要使用Paramiko库,我们需要先安装它。...然后,使用exec_command()方法执行ls命令,并将结果打印到控制台。最后,我们关闭SSH连接。...执行远程命令使用Paramiko库执行远程命令也很简单,只需将命令作为字符串传递给exec_command()方法。...ssh.exec_command(command)for line in stdout.readlines(): print(line.strip())ssh.close()在上述示例中,我们使用exec_command...然后,我们使用exec_command()方法执行ls命令,并将结果打印到控制台。最后,我们关闭SSH连接。高级选项Paramiko库还提供了许多高级选项,例如超时、端口转发、密钥管理等。

1.3K30

python利用paramiko连接远程服务器执行命令的方法

python中的paramiko模块是用来实现ssh连接到远程服务器上的库,在进行连接的时候,可以用来执行命令,也可以用来上传文件。...3、 执行命令 在连接过后,可以进行直接执行命令,那么就有了如下的函数: 1 2 3 4 5 def exec_commands(conn,cmd): 'this...做法主要是打开一个sftp对象,然后使用put方法进行上传文件,最后关闭sftp连接,最后返回一个上传的文件名称的完整路径 5、 执行命令得到结果 最后就是,执行命令,得到返回的结果,如下代码: 1...result] 首先,进行连接服务器,得到一个连接对象,如果连接不成功,那么返回主机名和None,表示没有连接成功,如果连接成功,那么修改文件的执行权限,从而可以执行文件,然后得到执行的命令,最后,进行执行命令...the paramiko connect the host,return conn' ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy

1.3K50
领券