gpt4 book ai didi

python - paramiko,不是在与 ssh-agent 交谈。织物中的相同行为

转载 作者:太空狗 更新时间:2023-10-29 20:50:26 25 4
gpt4 key购买 nike

首先,我试图让 fabric 正常工作,但它一直要求我输入密码。

所以我正在努力减少这个问题。从 Python 创建 SSH 连接也许是一个很好的 POC。我发现 fabric 使用 parmiko 进行 SSH 处理。唔。好的,让我们试着让一个例子工作。

这是我写的。

from ssh import *
import os

print "SSH-AGENT VARS"

print "SSH_AGENT_PID: %s " % os.environ['SSH_AGENT_PID']
print "SSH_AUTH_SOCK: %s " % os.environ['SSH_AUTH_SOCK']

a = Agent()
keys=a.get_keys()
print keys.count("192.168.1.10")


client = SSHClient()
client.load_system_host_keys()
client.connect('192.168.1.10')

导致以下错误消息:

% ./ssh_test.py
SSH-AGENT VARS
SSH_AGENT_PID: 26557
SSH_AUTH_SOCK: /tmp/ssh-pZHBElj26556/agent.26556
0
Traceback (most recent call last):
File "./ssh_test.py", line 18, in <module>
client.connect('192.168.1.10')
File "/usr/local/lib/python2.7/dist-packages/ssh/client.py", line 332, in connect
self._auth(username, password, pkey, key_filenames, allow_agent, look_for_keys)
File "/usr/local/lib/python2.7/dist-packages/ssh/client.py", line 493, in _auth
raise saved_exception
ssh.PasswordRequiredException: Private key file is encrypted

ssh-agent 在我的 session 中运行,我可以通过 SSH 连接到那个盒子,没问题,它不会提示我输入密码或任何东西。

我猜 paramiko 由于某种奇怪的原因无法连接到正在运行的 ssh-agent。

有没有人遇到过这样的问题?我正在使用 Ubuntu 11.10

我好像记得前阵子试过Fabric也有类似的问题,可能是坏了一段时间?

我连接,只是使用主机名作为参数。这是根据文档。

http://www.lag.net/paramiko/docs/paramiko.SSHClient-class.html

connect(self, hostname, port=22, username=None, password=None, pkey=None, key_filename=None, timeout=None, allow_agent=True, look_for_keys=True, compress=False)

最佳答案

因此,当您执行 a.get_keys() 时,从 paramiko 代码和您的代码应该返回一个列表。我会看看它返回了什么。而且它不会返回您可以像那样计算的东西,因为它返回的是实际的加密 key 位。但无论如何,当您转移到 ssh 并且它起作用时,让我们转移到 Fabric。

您可以通过执行以下操作为 ssh 库打开它来获得更多日志记录:

import ssh
ssh.util.log_to_file("paramiko.log", 10)

在你的 fabfile 中。这将显示所有日志并显示更多 paramiko/ssh 本身正在做的事情,这可能有助于您进一步调试问题。

关于python - paramiko,不是在与 ssh-agent 交谈。织物中的相同行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9843803/

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