以前は、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