gpt4 book ai didi

Python:尝试通过 SSH 执行命令时 Paramiko 挂起

转载 作者:行者123 更新时间:2023-12-01 05:43:41 25 4
gpt4 key购买 nike

我对 Paramiko 的工作原理相当陌生,但我的主要目标是能够使用 Python 通过 SSH 运行自动化命令。

我有以下代码,我试图运行一个简单的 ls 命令来开始,但由于某些奇怪的原因,代码似乎卡住了,并且没有产生任何输出或错误消息。

import sys
import paramiko as pm
sys.stderr = sys.__stderr__
import os

class AllowAllKeys(pm.MissingHostKeyPolicy):
def missing_host_key(self, client, hostname, key):
return

HOST = '192.168.31.1'
USER = 'admin'
PASSWORD = 'admin'

client = pm.SSHClient()
client.load_system_host_keys()
client.set_missing_host_key_policy(pm.AutoAddPolicy())

client.connect(HOST, username=USER, password=PASSWORD)

channel = client.invoke_shell()
stdin = channel.makefile('wb')
stdout = channel.makefile('rb')

stdin.write('''
ls
exit
''')
print stdout.read()

stdout.close()
stdin.close()

任何帮助将不胜感激:)

最佳答案

我尝试了与您相同的路线,但也没有太多运气。然后我选择了 paramiko Channel 类的 send()recv() 方法。这是我使用的:

>>> s = paramiko.SSHClient()
>>> s.load_system_host_keys()
>>> s.set_missing_host_key_policy(paramiko.AutoAddPolicy())
>>> s.connect(HOST,USER,PASS)
>>> c = s.invoke_shell()
>>> c.send('ls')
>>> c.recv(1024)
ls
bin etc usr home
proc var lib tmp

关于Python:尝试通过 SSH 执行命令时 Paramiko 挂起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16811581/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com