OSX 上で YubiKey を使用した GnuPG 2.1.20 SSH エージェント転送が失敗する

OSX 上で YubiKey を使用した GnuPG 2.1.20 SSH エージェント転送が失敗する

@JensErat の提案に従って ProxyJump を試してみました。

私はssh設定で次のように設定しました: Host jump-to-server HostName server.hostname ProxyJump[メールアドレス] ユーザー ubuntu

しかし、動作しません。接続中にハングするだけです。ジャンプ サーバーにも gnupg をインストールする必要がありますか?

私は OSX を実行しているコンピューターを 2 台持っています。自宅用とラップトップ用です。また、アクセスする必要のあるサーバーもいくつかあるので、それらすべてをサーバーと呼ぶことにします。

自宅とラップトップに gnupg 2.1.20 をインストールし、両方で動作する yubikey を持っています。yubikey を使用して SSH 経由でサーバーに接続できます。

サーバーには通常の 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で次のようにホームを設定しました

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 でホームに接続しようとします。サーバーにさらに SSH できません。認証できなかったため、ハングしたり失敗したりします。

可能であれば私もこれを行うことができます

laptop > server > server

しかし、サーバーは gnupg をまったく実行していないので、それが可能かどうかわかりません。

関連情報