web-dev-qa-db-ja.com

秘密鍵のロックが解除されない理由は何ですか?

しばらく前にUbuntu 17.10に更新したため、秘密鍵(たとえば、sshを介してサーバーにアクセスするために使用する秘密鍵)は、ログイン後にプログラムでロック解除されなくなりました。

enter image description here

私の理解では、通常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"の下に保存されているすべての関連パスワードを削除する必要があるということでした。 enter image description here

私は、クライアントにもう一度私に尋ねさせてから、それらを再び保存することを望んでいました。しかし、これも助けにはなりませんでした。クライアントは私に尋ねるためにポップアップしません...

次に、この質問を見つけましたが、これは関連する可能性がありますが、助けにはなりませんでした: buntuのすべての秘密鍵のロックを解除し、ログイン時に一度だけパスワードを入力します

他のパスワードの管理が期待どおりに機能するため(nautilus、Chromium、Nextcloudなどのパスワードなど)、問題はssh-agent...で何かをする必要があると思います.

この問題を解決する方法を教えてくれる人はいますか? GNOMEがパスワードを処理する方法に何か変更はありますか?アップグレードプロセス中に新しいファンシープログラムのインストールに失敗した可能性がありますか?

UPDATE秘密鍵を認証エージェントに再度追加するとき:

ssh-add ~/.ssh/id_rsa

ログインしようとすると、キーを一度だけロック解除するよう求められます。その後、キーはプログラムでロック解除されます。ただし、これは次の再起動までしか機能しません。新たに開始した後、キーを再度追加する必要があります...

12
user5950

はい、ssh-agentが答えです。パスフレーズを保存するために必要なことは、次のとおりです。

ssh-add ~/.ssh/id_rsa

次に、パスワードを入力して、再度ログインします。

7
darksky

SSH Key Agent(GNOME Keyring:SSH Agent)をスタートアップアプリケーションに追加すると、問題が解決しました。

enter image description here

6
Alexey

最初のオプション

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を再利用し続けます。

3
An0n