キーリングはSSH時にパスワードを要求しなくなりました

キーリングはSSH時にパスワードを要求しなくなりました

以前は、GNOME セッション全体でキーリングのロックを解除するためのパスワードを求めるプロンプトが表示され、それ以降はキーリングのパスワードを入力する必要がなくなったことを覚えています (これが Ubuntu または他のディストリビューションで行われるかどうかはよくわかりません)。ssh [email protected]ssh

しかし、現在では、ターミナルでキーリングのパスワードを毎回尋ねられるため、SSH キーを使用する目的が達成されません。ssh [email protected]

私がチェックしました

$ cat /etc/pam.d/lightdm | grep keyring
auth    optional        pam_gnome_keyring.so
session optional        pam_gnome_keyring.so auto_start

見た目は良いが、

$ pgrep keyring
1784 gnome-keyring-d

つまり、キーリングデーモンは生きています。

最終的に、SSH_AUTH_SOCK 変数 (および GNOME_KEYRING_CONTROL、GPG_AGENT_INFO、GNOME_KEYRING_PID) が適切に設定されていないことがわかりました。この変数を設定する適切な方法と、なぜ私の環境では設定されないのでしょうか (つまり、デフォルトのインストールでは設定されるべきではないのでしょうか)?

.bashrc で設定できると思いますが、その場合、変数は bash セッションでのみ定義されます。ssh の場合は問題ありませんが、GUI アプリがキーリングを使用するには他の環境変数が必要だと思います。

答え1

Arch wiki でこれを見つけました:https://wiki.archlinux.org/index.php/GNOME_Keyring

基本的には、特定のキーリング値を取得するために実行しgnome-keyring-daemon -s、.bashrc に以下を追加します。

SSH_AUTH_SOCK=`netstat -xl | grep -o '/run/user/yourusername/keyring-xxxxxxx.*/ssh$'`
[ -z "$SSH_AUTH_SOCK" ] || export SSH_AUTH_SOCK

これにより、ssh はキーリング GUI を通じてパスワードを要求するようになります。

答え2

私は ssh を頻繁に使用しています。主に、Ubuntu ワークステーションと、私が作業しているすべての Web サイトがある別の Ubuntu Web サーバーの間で使用しています。以前、あなたと同じ症状に遭遇したことがあり、ターミナルの実行方法に問題があることが判明しました。特定のコマンド ラインを渡す必要があったため、gnome-terminal を実行するためのカスタム ショートカットを作成しました。しかし、xterm を実行すると、同じ問題が発生したと思います。

組み込みのショートカット (Alt-Ctrl-T) またはメニューからターミナルを実行すると、ターミナルは正常に動作し、パスワードを求める GUI ダイアログが表示されましたが、カスタム ショートカットから実行すると、常にターミナル自体からパスワードを要求され、パスワードは記憶されませんでした。

答え3

私もこの問題に遭遇しました。突然現れました。どうやら、同じドメインの保存された(おそらく間違った)(SFTP)ログイン パスワードが原因であるようです。

解決

(Gnome キーリング)を開いてPassword and Keysパスワードを削除します (Ubuntu のパスワードの下にありました)

パスワードとキーのウィンドウ

再起動するとすべてが正常になりました。

export | grep SOCK

ここで再度返される: SSH_AUTH_SOCK=/run/user/yourusername/keyring-xxxxxxx.*/ssh

関連情報