如何让 GPG 使用通过 SSH 访问的密钥?

如何让 GPG 使用通过 SSH 访问的密钥?

由于一些技术限制,我将 GPG 密钥存储在远程服务器上(可通过 SSH 访问)。是否可以让 GPG 使用通过 ssh 传输的密钥,而不实际在本地复制它们?

答案1

您可以gpg-agent远程启动并创建远程 UNIX 套接字端口转发到您的主机,然后gpg-agent在本地使用。简而言之

  1. 连接到服务器并启动gpg-agent(如果尚未运行)并确保其保持运行状态。它正在监听环境变量中定义的套接字$GPG_AGENT_INFO。存储路径:

    eval `gpg-agent --daemon` && echo $GPG_AGENT_INFO
    
  2. 发出远程 unix 域套接字转发(选择 secure local_path):

    ssh -NTfR local_path:remote_path_from_above remoteHost
    
  3. 终止本地代理并启动新代理并连接到远程主机:

    export GPG_AGENT_INFO=local_path
    gpg-connect-agent /bye &>/dev/null || gpg-agent --daemon &>/dev/null
    

基于在所获得的知识相关问题

相关内容