17
在多个登录会话中共享相同的“ ssh-agent”
有没有一种简便的方法来确保来自给定用户(即我)的所有登录都使用相同的ssh-agent?我破解了一个脚本,使它大部分时间都可以正常工作,但是我一直怀疑我错过了某种方法。此外,自那时以来,计算机技术有了惊人的进步,例如本网站。 所以这里的目标是 每当我登录到该框时,无论它是通过SSH还是在从gdm / kdm / etc启动的图形会话中,还是在控制台上: 如果我的用户名当前没有ssh-agent运行,则启动,导出并ssh-add调用环境变量。 否则,现有座席的坐标将导出到登录会话的环境变量中。 当所涉及的盒子在ssh进入第三个盒子时用作中继点时,此功能特别有价值。在这种情况下,它避免了每次ssh进入然后想要执行git push某事时都必须键入私钥的密码。 下面给出的脚本可以可靠地完成此任务,尽管它最近在X崩溃时崩溃了,然后我开始了另一个图形化会话。在这种情况下,可能还有其他问题。 这是我的好坏脚本。我从我的来源.bashrc。 # ssh-agent-procure.bash # v0.6.4 # ensures that all shells sourcing this file in profile/rc scripts use the same ssh-agent. # copyright me, now; licensed under the DWTFYWT license. mkdir -p "$HOME/etc/ssh"; function ssh-procure-launch-agent { eval `ssh-agent -s …