oar*_*ish 7 ssh gpg forwarding gpg-agent unix-sockets
我正在尝试遵循这些指南和答案
\n以及我能找到的其他任何东西来完成这项工作:
\ngpg --decrypt
在远程计算机上。我已经将我的公钥编辑到远程机器上--export
。--import
远程 gpg 报告驻留在\n 中的代理套接字/run/user/1001/gnupg/S.gpg-agent
,以及位于 中的额外套接字/run/user/1001/gnupg/S.gpg-agent.extra
。
然而,试图ssh -v -R /run/user/1001/gnupg/S.gpg-agent:/Users/rasmus/.gnupg/S.gpg-agent.extra -l rasmus <remote-host>
警告说
\n\n警告:侦听路径 /run/user/1001/gnupg/S.gpg-agent 的远程端口转发失败
\n
这可能是因为 systemd 已经拥有远程套接字。
\n$ sudo journalctl -xe\n\xe2\x80\xa6\nMar 11 15:06:21 pact-cube sshd[4972]: error: bind: Address already in use\nMar 11 15:06:21 pact-cube sshd[4972]: error: unix_listener: cannot bind to path: /run/user/1001/gnupg/S.gpg-agent\n
Run Code Online (Sandbox Code Playgroud)\n我必须做什么才能将 gpg 代理从 macOS 转发到 Ubuntu 18.04?\n两台计算机上都使用所需的 GPG 和 SSH 版本。
\n删除过时的套接字文件:
\nssh mylinuxserver \'rm /run/user/1001/gnupg/S.gpg-agent\'\n
Run Code Online (Sandbox Code Playgroud)\n然后连接:
\nssh -vvv mylinuxserver\n
Run Code Online (Sandbox Code Playgroud)\n这假设您已经RemoteForward
在您的~/.ssh/config
. 它看起来像这样:
# File: ~/.ssh/config\n[...]\nHost mylinuxserver\nHostName mylinuxserver.example.com \n#RemoteForward <socket_on_remote_box> <extra_socket_on_local_box>\nRemoteForward /run/user/1001/gnupg/S.gpg-agent /Users/rasmus/.gnupg/S.gpg-agent.extra\n[...]\n
Run Code Online (Sandbox Code Playgroud)\n在详细输出中,您应该看到类似以下内容:
\ndebug1: remote forward success for: listen /run/user/1001/gnupg/S.gpg-agent:-2, \\\n connect /Users/rasmus/.gnupg/S.gpg-agent.extra:-2\n
Run Code Online (Sandbox Code Playgroud)\n然后在远程计算机上使用 gpg-agent 应该可以工作。
\n为了避免每次都需要删除过时的套接字文件,请添加StreamLocalBindUnlink yes
到服务器的/etc/ssh/sshd_config
,如下所示:https: //wiki.gnupg.org/AgentForwarding
给任何试图让它在 Fedora Linux 上工作的人注意:我需要在我的 Fedora Linux 工作站上启用两个套接字才能使套接字激活工作:
\nsystemctl --user enable gpg-agent.socket\nsystemctl --user enable gpg-agent-extra.socket\n
Run Code Online (Sandbox Code Playgroud)\n然后报告gpg-agent.service
说它将由这两个套接字按需触发:
$ systemctl --user status gpg-agent.service\n\xe2\x97\x8b gpg-agent.service - GnuPG cryptographic agent and passphrase cache\n Loaded: loaded (/usr/lib/systemd/user/gpg-agent.service; static)\n Active: inactive (dead)\nTriggeredBy: \xe2\x97\x8f gpg-agent-extra.socket\n \xe2\x97\x8f gpg-agent.socket\n Docs: man:gpg-agent(1)\n
Run Code Online (Sandbox Code Playgroud)\n
归档时间: |
|
查看次数: |
2548 次 |
最近记录: |