【发布时间】:2019-10-22 02:33:22
【问题描述】:
我正在尝试使用 Python paramiko 在远程服务器上执行命令。当我运行以下命令时,我得到了提示,它似乎已经成功,因为我得到了提示
>>> import paramiko
>>> ssh = paramiko.SSHClient()
>>> ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
>>> ssh.connect('a.b.c.d', username='server', password='xyz')
>>>
我尝试执行命令时得到的唯一响应是 []
>>> stdin, stdout, stderr = ssh.exec_command("host")
>>> stdout.readlines()
[]
几乎所有命令都会给出相同的输出。 从 shell 执行 ssh 时的命令“host”给出了几行用法输出
如果我不提供密码,我会收到此错误
>>> ssh.connect('a.b.c.d', username='server')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "build\bdist.win32\egg\paramiko\client.py", line 307, in connect
File "build\bdist.win32\egg\paramiko\client.py", line 520, in _auth
paramiko.ssh_exception.SSHException: No authentication methods available
我不知道 SSH 连接是否通过以及为什么没有执行命令。
是否应该添加一些东西来进行身份验证?我错过了什么吗?
【问题讨论】:
-
我认为连接正在建立,因为我在服务器上执行了 ps -ef 并且我在列表中看到了一个额外的 sshd 进程。但是我无法捕获对命令的响应请帮助。
-
如果使用 Vyatta stackoverflow.com/questions/15864552/…,请查看此线程