按照@JensErat 的建议尝试了 ProxyJump。
我在 ssh config 中这样配置: 主机跳转到服务器 HostName server.hostname ProxyJump[电子邮件受保护] 用户 ubuntu
但它不起作用,它只是在连接过程中挂起。我还需要在跳转服务器上安装 gnupg 吗?
我有 2 台运行 OSX 的计算机。家庭和笔记本电脑。我还有许多需要访问的服务器,我们将它们全部称为服务器。
在家庭和笔记本电脑上,我安装了 gnupg 2.1.20,并且我有一个适用于它们的 yubikey。我可以通过 ssh 使用 yubikey 连接到服务器。
服务器只有常规 ssh,没有 gnupg。
使用 gnupg 和 yubikey 效果很好:
home > server
laptop > server
laptop > home
我在家庭和笔记本电脑上的 .bash_profile 中添加了以下内容以使其正常工作:
if [ -f "${HOME}/.gpg-agent-info" ]; then
. "${HOME}/.gpg-agent-info"
export GPG_AGENT_INFO
export SSH_AUTH_SOCK
fi
我也想做这个
laptop > home > server
为此,我读到我读到我需要打开一个额外的套接字,因此这是笔记本电脑上的 .gnupg/gpg-agent.conf :
pinentry-program /usr/local/bin/pinentry-mac
extra-socket /Users/deadlock/.gnupg/S.gpg-agent.extra
enable-ssh-support
write-env-file
use-standard-socket
default-cache-ttl 600
max-cache-ttl 7200
allow-preset-passphrase
这在家里也是一样的:
pinentry-program /usr/local/bin/pinentry-mac
enable-ssh-support
write-env-file
use-standard-socket
default-cache-ttl 600
max-cache-ttl 7200
gpg-agent 在笔记本电脑和家用电脑上运行;我已确保 ssh-agent 未运行。
我在 ~/.ssh/config 中像这样配置了 home
Host home
HostName 12.34.45.67
Port 22
User jens
ForwardAgent no
RemoteForward /Users/jens/.gnupg/S.gpg-agent /Users/jens/.gnupg/S.gpg-agent.extra
这是行不通的。在笔记本电脑上,ssh-add -l
列出了我的密钥,但在我尝试 ssh home 后。我无法进一步 ssh 到服务器。它只是挂起或失败,无法进行身份验证。
如果可能的话我也能做到这一点
laptop > server > server
但由于服务器根本没有运行 gnupg 我不知道这是否可能?