1. ホーム
  2. git

[解決済み】SSHキーを削除する方法を教えてください。

2022-04-13 18:41:04

質問

現在、サーバーに古いSSHキーをアップロードしています。問題は、私の ~/.ssh ディレクトリ(元の id_rsaid_rsa.pub ファイル)を作成します。

その結果、古いSSHキーをサーバー上で直接削除し、新しいキーをアップロードしたいのです。

以下のコマンドを試したのですが、成功しませんでした。

$> ssh-add -D

<イグ

SSHキーを完全に削除する方法はありますか?

解決方法は?

については、少なくとも2つのバグレポートがあることに注意してください。 ssh-add -d/-D ではなく キーを削除します。

正確には問題です。

ssh-add -d/-D のみを削除します。 手動で追加した のキーを gnome-keyring から取得します。

自動的に追加されたキーを削除する方法はありません。

これはオリジナルのバグで、今でも確実に存在している。

たとえば、仕事用と自宅用のふたつの GitHub アカウントに、ふたつの異なる ssh ID を自動的に割り当てている場合、次のようなことが起こります。 まさか を切り替えることができます。GitHub は最初にマッチした方を採用するので、GitHub では常に 'home' ユーザーとして表示され、仕事用のプロジェクトに何かをアップロードすることはできません。

許可する ssh-add -d に適用されます。 自動ロード キー(および ssh-add -t X を使用して、自動的にロードされるキーのライフタイムを変更することで、ほとんどのユーザーが期待する動作を復元することができます。


より正確には、この問題について。

犯人は gpg-keyring-daemon :

  • これは ssh-agent の通常の動作を破壊するもので、たいていは暗号化された ssh 鍵のパスフレーズを入力するためのきれいなボックスをポップアップさせることができるようになっています。
  • そして、あなたの .ssh ディレクトリに移動し、見つけたキーを自動的にエージェントに追加します。
  • そして、そのキーを削除することはできません。

どうしたらいいんだろう?数え上げるのはやめましょう。人生は短いのですから。

新しいsshクライアントは、ホストに接続する際にssh-agentにあるすべてのキーを自動的に試すので、失敗はさらに深刻になります。

多すぎる場合は、サーバーが接続を拒否します。

そして gnome-keyring-daemon が ssh-agent に持たせたいキーの数を勝手に決め、それをオートロードしてしまい、それを削除することを許さないので、あなたは破滅してしまうのです。

このバグは、2日前(2014年8月21日)の時点でも、Ubuntu 14.04.4で確認されています


可能な回避策

  • する ssh-add -D をすべて削除してください。 手動で キーを追加しました。これはまた は自動的に追加されたキーですが、あまり意味がありません。 gnome-keyring を実行しようとすると、どうせロックを解除するように要求されます。 git push .
  • に移動します。 ~/.ssh フォルダに移動し、識別したいキーファイル以外のすべてのキーファイルをbackupという別のフォルダに移動してください。必要であれば、seahorseを開いて、そこからキーを削除することもできます。
  • これで、次のことができるようになります。 git push を問題なく実行できます。

もう一つの回避策

本当にやりたいことは gpg-keyring-daemon を完全に削除します。

に移動します。 System --> Preferences --> Startup Applications を選択し、"の選択を解除してください。 SSH Key Agent (Gnome Keyring SSH Agent) というボックスは、スクロールして探す必要があります。

それでも ssh-agent 鍵の自動ロードはなく、ssh-add を実行して鍵を追加し、鍵を削除したければ削除することができるのです。想像してみてください。

このコメント を実際に示唆しています。

を維持することが解決策となります。 gnome-keyring-manager プログラムファイルの実行権限を削除することで、最終的に達成することができました。


ライアン・ルー もう一つの興味深いケースを追加 コメントで :

誰かの役に立つかもしれないので、私は id_rsaid_rsa.pub ファイルを完全に削除しても、キーは表示されたままでした。

判明したこと gpg-agent にキャッシュしていました。 ~/.gnupg/sshcontrol ファイル そこから手動で削除する必要がありました。

という場合です。 その keygrip が追加されました。 このように .