「受信パスへのリモートポート転送に失敗しました」というメッセージで、gpg-agentを使用したSSH転送は失敗します。

「受信パスへのリモートポート転送に失敗しました」というメッセージで、gpg-agentを使用したSSH転送は失敗します。

転送を使用したリモートシステムへのSSH接続はgpg-agent失敗しますが、他のシステムでは機能します。ローカル資格情報を使用してリモートコンピュータでSSHを実行することはできませんgpg-agent

ssh -Avvv user@remotehost次の警告を表示します。

Warning: remote port forwarding failed for listen path /Users/user/.gnupg/S.gpg-agent

リモートホストに接続した後、利用可能な有効なSSHキーは表示されません。

% ssh-add -L
Could not open a connection to your authentication agent.

ベストアンサー1

ssh -A私はmacOSでリモートで作業しながらこの経験をしました。しかし、転送したい他のオペレーティングシステムでも同じですgpg-agent

  1. リモートホストへの接続に使用する情報が~/.ssh/config正しいことを確認してください。また、あなたから接続するときに<local_host>このアドレス<remote_hostname>またはIPを使用していることを確認してください<local_host>ssh -A <remote_username>@<remote_hostname_or_ip>。気づくmacOSの使用/Users/usernameメインディレクトリいいえ/home/username!!既存の設定をコピーして貼り付けるときは注意してください。以下の例:
Host <remote_hostname_or_ip>
    HostName <remote_hostname_or_ip>
    User <remote_username>
    RemoteForward /Users/<remote_username>/.gnupg/S.gpg-agent /home/<local_host_username>`/.gnupg/S.gpg-agent.extra
  1. 設定にラインが<local_host> gpg-agent含まれており、正しく動作していることを確認してください(使用時にピンを要求する必要があります)。たとえば、次のようになります。enable-ssh-supportpinentry-programssh
enable-ssh-support
pinentry-program /usr/local/bin/pinentry
  1. 製品が稼働していることを確認してください<local_host> gpg-agent。利用可能な既知のホストに接続してみてください。 gpg-agentを再ロードすると、次のOK状態が返されます。
% gpg-connect-agent reloadagent /bye
OK
  1. 使用しているスイッチがssh -Aそのリモートホストのスイッチと同じであることを確認してくださいForwardAgent yes~/.ssh/configパラメータなしで常にプロキシを渡すには、2番目のオプションを使用します-A

  2. 最も重要な:確実にするリモートホストにSSH_AUTH_SOCK設定がありません。それ以外の場合、ローカルコンピュータはgpg-agentリモートコンピュータに転送されず、ローカル資格情報を使用しません!unset SSH_AUTH_SOCK変数を手動で設定しても大丈夫です。リモートホストシェル~/.profile(または類似)が作成され設定されてgpg-agentいると、SSH_AUTH_SOCKローカルホストプロキシソケットも上書きされ、機能しません。注釈処理:

#/usr/local/bin/gpg-agent --daemon
#SSH_AUTH_SOCK="$HOME/.gnupg/S.gpg-agent.ssh"; export SSH_AUTH_SOCK

おすすめ記事