我们想使用 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/