
転送を使用したリモートシステムへの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
!
- リモートホストへの接続に使用する情報が
~/.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
- 設定にラインが
<local_host>
gpg-agent
含まれており、正しく動作していることを確認してください(使用時にピンを要求する必要があります)。たとえば、次のようになります。enable-ssh-support
pinentry-program
ssh
enable-ssh-support
pinentry-program /usr/local/bin/pinentry
- 製品が稼働していることを確認してください
<local_host>
gpg-agent
。利用可能な既知のホストに接続してみてください。 gpg-agentを再ロードすると、次のOK
状態が返されます。
% gpg-connect-agent reloadagent /bye
OK
使用しているスイッチが
ssh -A
そのリモートホストのスイッチと同じであることを確認してくださいForwardAgent yes
。~/.ssh/config
パラメータなしで常にプロキシを渡すには、2番目のオプションを使用します-A
。最も重要な:確実にするリモートホストに
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
答え2
Fedora 34サーバーに接続されているFedora 34ラップトップで、「受信パスへのリモートポート転送に失敗しました」という警告が表示されます。
私にとって役に立ったのは、指定されたファイルを削除してSSHセッションを終了して再接続することでした。
❯ gpg-agent --daemon
❯ ssh myserver
Warning: remote port forwarding failed for listen path /run/user/1000/gnupg/S.gpg-agent
[me@myserver] $ rm /run/user/1000/gnupg/S.gpg-agent
[me@myserver] $ exit
❯ ssh myserver
[me@myserver] $ gpg-agent # Verify that gpg-agent is working
gpg-agent[159856]: gpg-agent running and available
毎回これをしなければなりません。
次に、ここで提案されているようにStreamLocalBindUnlink yes
サーバーにファイルを追加してみました。/etc/ssh/sshd_config
https://wiki.gnupg.org/AgentForwarding
それ以来、何らかの警告メッセージが表示されませんでした。