しばらく前にUbuntu 17.10に更新したため、秘密鍵(たとえば、sshを介してサーバーにアクセスするために使用する秘密鍵)は、ログイン後にプログラムでロック解除されなくなりました。
私の理解では、通常seahorse client
が最初に入力するときにキーのパスワードを保存するかどうかを尋ねることによってこれを処理する必要があります。
私の最初の推測は、seahorse-daemon
が何らかの理由で実行されていなかったことですが、それは次のとおりです。
user@Zeus:~$ ps aux | grep seahorse
user 19170 0.0 0.1 432636 26564 ? Ss 00:07 0:00 seahorse-daemon
私の2番目の推測は、何らかの理由でタツノオトシゴの"Passwords-> login"の下に保存されているすべての関連パスワードを削除する必要があるということでした。
私は、クライアントにもう一度私に尋ねさせてから、それらを再び保存することを望んでいました。しかし、これも助けにはなりませんでした。クライアントは私に尋ねるためにポップアップしません...
次に、この質問を見つけましたが、これは関連する可能性がありますが、助けにはなりませんでした: buntuのすべての秘密鍵のロックを解除し、ログイン時に一度だけパスワードを入力します
他のパスワードの管理が期待どおりに機能するため(nautilus、Chromium、Nextcloudなどのパスワードなど)、問題はssh-agent
...で何かをする必要があると思います.
この問題を解決する方法を教えてくれる人はいますか? GNOMEがパスワードを処理する方法に何か変更はありますか?アップグレードプロセス中に新しいファンシープログラムのインストールに失敗した可能性がありますか?
UPDATE秘密鍵を認証エージェントに再度追加するとき:
ssh-add ~/.ssh/id_rsa
ログインしようとすると、キーを一度だけロック解除するよう求められます。その後、キーはプログラムでロック解除されます。ただし、これは次の再起動までしか機能しません。新たに開始した後、キーを再度追加する必要があります...
はい、ssh-agentが答えです。パスフレーズを保存するために必要なことは、次のとおりです。
ssh-add ~/.ssh/id_rsa
次に、パスワードを入力して、再度ログインします。
最初のオプション
Sshエージェントを起動します。
ssh-agent
Ssh-keyを追加します。
ssh-add ~/.ssh/id_rsa
再起動後も持続するには、ssh-agentを自動起動し、次の行を.bash_profileに追加します。
if [ -z "$SSH_AUTH_SOCK" ] ; then
eval `ssh-agent -s`
ssh-add
fi
2番目のオプション
これを.bashrcまたは.zshrcに追加します。
if [ ! -S ~/.ssh/ssh_auth_sock ]; then
eval `ssh-agent`
ln -sf "$SSH_AUTH_SOCK" ~/.ssh/ssh_auth_sock
fi
export SSH_AUTH_SOCK=~/.ssh/ssh_auth_sock
ssh-add -l > /dev/null || ssh-add
これは、各再起動後に初めてログインするときにのみパスワードの入力を求めます。実行されている限り、同じssh-agentを再利用し続けます。