Python 使用ssh代理而不登录

Python 使用ssh代理而不登录,python,linux,ssh,paramiko,ssh-agent,Python,Linux,Ssh,Paramiko,Ssh Agent,我们希望使用ssh代理通过ssh自动连接到许多机器,使用ubuntu机器上的专用用户(12.04);问题是,由于我们已经通过脚本生成了这个用户 useradd -m -s /bin/bash USER 我们没有登录到该用户,ssh代理没有运行,任何使用ssh而不提供密码的尝试(我们使用python和paramiko)都会失败 no autentication methods available 我们做了一些研究,发现很多人会用这个命令行启动ssh代理 eval "ssh-agent" 但这

我们希望使用ssh代理通过ssh自动连接到许多机器,使用ubuntu机器上的专用用户(12.04);问题是,由于我们已经通过脚本生成了这个用户

useradd -m -s /bin/bash USER
我们没有登录到该用户,ssh代理没有运行,任何使用ssh而不提供密码的尝试(我们使用python和paramiko)都会失败

no autentication methods available
我们做了一些研究,发现很多人会用这个命令行启动ssh代理

eval "ssh-agent"
但这对我们来说是行不通的(尤其是当上面的命令是通过python执行的时候)


让它工作的唯一方法是登录到该用户(例如通过ssh)并键入上面的comand,这使得我们的自动化方法不那么自动化:有没有一种方法可以让ssh代理在启动时启动,而无需登录到专用用户?

我认为这个问题在网站上会得到更好的回答

但是,这里有一个想法


在所有pc上创建一个init脚本,这样当pc启动时,它将以用户身份登录,启动ssh代理并注销。将初始化脚本运行级别设置为在pc以正常/多用户模式启动时启动。

连接并禁用代理时会发生什么
ssh.connect(..,allow_agent=False
)?也许您应该看看,它可能已经具备了您要实现的功能:)如果这个问题是关于“如何将ssh代理作为服务启动”(我认为应该是什么)的话。@Tisho禁用代理效果很好,我不知道在没有ssh的情况下自动使用ssh是可能的!我认为你的想法太过火了:)可能他只是想让
ssh-agent
作为服务启动。这也是个好主意,但正如@Tisho所指出的,我们的特定设置(python+paramiko)可以在没有ssh-agent的情况下使用:谢谢你的回答