ssh-copy-idは無効なコメントを含むキーをコピーします。

ssh-copy-idは無効なコメントを含むキーをコピーします。
  1. ずっと前に、マシンAでRSA SSHキーを作成し、-Cこのオプションを使用してコメントしました。
  2. しばらくしてコメントが気に入らなかった。ファイルを開き、~/.ssh/id_rsa.pub最後の列を新しいコメントに置き換えました。
  3. マシンBの認証を設定しており、ssh-copy-idキーをこのマシンにコピーしようとしました。
  4. マシンBで開くと、~/.ssh/authorized_keys私のRSAキーの最後の列に前の説明があります。
  5. コンピュータAの全内容~/.ssh/etc/sshフォルダを検索しましたが、どこにも以前のコメントが見つかりませんでした。

私は完全に戸惑いました。まるでSSHに私が存在するのか分からなかった一種のキャッシュが組み込まれていましたが、後で役に立たなくなったのとほぼ同じです。

答え1

コメントで判断すると。

主なコメントは次の場所にあります。

  • 公開鍵ファイルid_rsa.pub
  • 秘密鍵ファイルid_rsa
  • SSHプロキシセッションssh-add -l

「オリジナル」コメントは秘密鍵ファイルに保存されます。 (公開鍵ファイルが削除された場合に備えて対処してください)

以下を使用して秘密鍵をエクスポートできます。

ssh-keygen -e [-f input_keyfile] [-m key_format]

-mオプションを使用する必要があります。

 -m key_format
         Specify a key format for key generation, the -i (import), -e (ex‐
         port) conversion options, and the -p change passphrase operation.
         The latter may be used to convert between OpenSSH private key and
         PEM private key formats.  The supported key formats are:
         “RFC4716” (RFC 4716/SSH2 public or private key), “PKCS8” (PKCS8
         public or private key) or “PEM” (PEM public key).  By default
         OpenSSH will write newly-generated private keys in its own for‐
         mat, but when converting public keys for export the default for‐
         mat is “RFC4716”.  Setting a format of “PEM” when generating or
         updating a supported private key type will cause the key to be
         stored in the legacy PEM private key format.

バージョンに応じて、次のコマンドを使用して変更できます。

ssh-keygen -c -C "comment" -f id_rsa

正確な構文は次のとおりですman ssh-keygen

ssh-keygen -c [-C comment] [-f keyfile] [-P passphrase]

キーが変更され、ssh-agentが使用されている場合は再インポートする必要があります。

関連情報