python - 在没有登录的情况下使用 ssh-agent

标签 python linux ssh paramiko ssh-agent

我们想使用 ssh-agent 通过 ssh 自动连接到许多机器,在 ubuntu 机器(12.04)上使用专用用户;问题是因为我们已经通过脚本生成了这个用户

useradd -m -s /bin/bash USER

我们没有登录到那个用户,ssh-agent 没有运行,任何不提供密码就使用 ssh 的尝试(我们使用 python 和 paramiko)都失败了

no autentication methods available

我们做了一些研究,发现很多人会用这个命令行启动ssh-agent

eval "ssh-agent"

但这对我们不起作用(尤其是当上述命令通过 python 执行时)。

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

最佳答案

我认为这个问题在 Server Fault 中会得到更好的回答。网站。

但是,这里有一个想法。

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

关于python - 在没有登录的情况下使用 ssh-agent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11559732/

相关文章:

python - 在循环中按索引遍历列表列表,以重新格式化字符串

linux - 如何在内核模块中断中触发一个函数

linux - `sudo yum update` throws 需要...删除...已过时

python - 使用 Python 的 Paramiko exec_command 使用 PowerShell Start-Process 启动的进程无法正常工作,尽管它在 SSH 终端上工作正常

permissions - 权限被拒绝(公钥、键盘交互)

python - 类型错误, 'method' 对象在迭代时不可订阅

python - Selenium 网络驱动程序 Firefox 打开空白页

python - hadoop中的数据沿袭报告

linux - 获取处理器频率

mongodb - 如何在 CF 中测试服务实例