通常のログインの代わりにRSAキーを使用してSSHにログイン

通常のログインの代わりにRSAキーを使用してSSHにログイン

ssh-keygenKaliフォルダにキーペアを作成するために使用します~/.ssh

途方もない。に公開鍵も追加しました~/.ssh/authorized_keys600ファイルに対する権限も設定されました。

結果:

  • Putty:ip_rsa.ppkを使う - trunks@lanIPでログインしますinvalid format
  • PowerShell Telnet:ssh trunks@lanip -i秘密鍵ファイルパス - invalid format

私もopenSSHに変換しましたが、役に立ちませんでした。私は何が間違っていましたか?ユーザー名、パスワードなど、通常のログインアカウントにログインし続けますが、これは私が望むものとは異なります。ため息をつく。以前はこの問題は発生しませんでした。 Puttyはソフトウェアを更新する必要があります。真剣に。

公開鍵を確認してみると、長くて正しい形式の文字列でした。私はパテテルネットとDD-WRTの公開鍵文字列を問題なく使用しています。

ベストアンサー1

ssh-keygen3種類のファイルを生成できます。

  • OpenSSH独自の形式(RFC4716、デフォルト)、
  • PKCS8と
  • PEMフォーマット

秘密鍵の最初の行に分けることができます。

  • となっていれば"-----BEGIN OPENSSH PRIVATE KEY-----"RFC4716であり、
  • と表示されている場合は"-----BEGIN RSA PRIVATE KEY-----"PEM
  • もしそうなら"-----BEGIN PRIVATE KEY-----"、PKCS8です。

すべての場合において、公開鍵は同じように見える。また、これらの形式間で自由に変換することもできます。

PowerShellでOpenSSHを使用しています。を実行してこれを確認できますssh -V。これらの形式のキーと直接操作する必要があります。

ssh-keygen生成されたファイルをPuttyのppk形式に変換するには、を使用しますputtygen。または、生成キーを使用するとputtygenOpenSSH形式に変換されます。

公開鍵には「Type Key Comment」という3つの部分があり、最後の部分はオプションであり、自由に変更できます。ファイル内のキーにラベルを付けるために使用できますauthorized_keys。他の部分はそのままコピーする必要があります。公開鍵は常に一つの線、別の行でファイルに追加する必要がありますauthorized_keys

認証メカニズムを使用してターゲットホストにSSHで接続できる場合は、ファイルが存在しない場合はssh-copy-id target-host正しい権限を使用してファイルを生成し、そこに秘密鍵を追加するか、ファイルは存在しますがキーがある場合は試してください。秘密鍵が追加されます。キーは.ssh/authorized_keysファイルにありません。これらのファイルを作成する別の方法はcat id_rsa.pub >> authorized_keys

おすすめ記事