如何使用 Launchd 在引导(或登录)时启动 ssh-agent?

问题描述 投票:0回答:1

/System/Library/LaunchAgents/com.openssh.ssh-agent.plist
中有一个plist。我花了几个小时试图让它在启动/登录时启动,但我还没有运气。我的大部分时间都花在尝试理解各种
launchctl
命令上,但我还没有找到有效的组合。我尝试将其复制到
~/Library/LaunchAgents
,我尝试添加
<key>RunAtLoad</key>
,以及我能想到的所有其他内容。我也没有弄清楚如何查看调试日志。

由于我可能做错了什么,并且解决方案应该很简单,因此在这种情况下尝试解释我一直在做的事情并没有帮助。

2个问题:

  • 如何使 plist 在启动(或登录)时启动?
  • 当 plist 无法启动时,我如何在日志中查看失败的原因?

这是文件的内容:

<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>com.openssh.ssh-agent</string>
    <key>ProgramArguments</key>
    <array>
        <string>/usr/bin/ssh-agent</string>
        <string>-l</string>
    </array>
    <key>Sockets</key>
    <dict>
        <key>Listeners</key>
        <dict>
            <key>SecureSocketWithKey</key>
            <string>SSH_AUTH_SOCK</string>
        </dict>
    </dict>
    <key>EnableTransactions</key>
    <true/>
</dict>
</plist>
macos launchd launchdagent
1个回答
0
投票

如果您运行

ssh-add -l
或尝试添加密钥
ssh-add ...
,您应该会看到该过程。重新启动/登录时,该进程不会运行,直到有人尝试通过
SSH_AUTH_SOCK
访问代理。

© www.soinside.com 2019 - 2024. All rights reserved.