cyb*_*ron 2 python ssh paramiko
我正在使用Python
's' Paramiko
来删除服务器中的命令.代码很简单.
这是我对SSHConn
班级的定义:
class SSHConn:
def __init__(self, hostname, user, pwd, filename=None):
self.client = paramiko.SSHClient()
self.client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
self.client.connect(hostname, username=user, password=pwd,
key_filename=filename)
self.transport = self.client.get_transport()
self.channel = self.transport.open_session()
Run Code Online (Sandbox Code Playgroud)
所以我正在运行以下代码:
local_ssh = ssh.SSHConn(host, user, passwd)
cmds = ('foo', 'bar')
for cmd in cmds:
local_ssh.channel.exec_command(cmd)
self.log.info(local_ssh.channel.recv(1024))
Run Code Online (Sandbox Code Playgroud)
但是,当我执行以下代码时,我得到了:
INFO:paramiko.transport:Connected (version 2.0, client OpenSSH_6.6.1p1)
INFO:paramiko.transport:Authentication (publickey) failed.
INFO:paramiko.transport:Authentication (password) successful!
INFO:paramiko.transport:Secsh channel 1 opened.
INFO:testsets.testcase:
ERROR:testsets.testcase:Channel is not open
Traceback (most recent call last):
File "/root/fds-src/source/test/integration-framework/testsets/testcases/test_100gb_volume.py", line 87, in runTest
local_ssh.channel.exec_command(cmd)
File "/usr/lib/python2.7/dist-packages/paramiko/channel.py", line 209, in exec_command
raise SSHException('Channel is not open')
SSHException: Channel is not open
ERROR:testsets.testcase:Test Case Test100GBVolume failed.
Traceback (most recent call last):
File "/root/fds-src/source/test/integration-framework/testsets/testcases/test_100gb_volume.py", line 87, in runTest
local_ssh.channel.exec_command(cmd)
File "/usr/lib/python2.7/dist-packages/paramiko/channel.py", line 209, in exec_command
raise SSHException('Channel is not open')
SSHException: Channel is not open
Run Code Online (Sandbox Code Playgroud)
如何保持频道畅通?
channel
关于这一点,文档非常明确.您需要为每个频道打开一个新频道exec_command
.
exec_command(*args,**kwds)
在服务器上执行命令.如果服务器允许,则通道将直接连接到正在执行的命令的stdin,stdout和stderr.
命令完成执行后,通道将关闭,无法重复使用.如果要执行另一个命令,则必须打开一个新通道.
该SSHClient
对象有一个exec_command
为您执行此操作的方法.
归档时间: |
|
查看次数: |
6137 次 |
最近记录: |