ウェブサイト検索

LinuxでSSHキーを生成する方法


SSHキーを生成し、安全にリモートサーバーにログオンする方法を学びましょう。

重要なポイント

  • SSHキーは、パスワードなしでリモートサーバーに安全にアクセスする方法です。それらは公開鍵と秘密鍵で構成されています。
  • Linuxでssh-keygenコマンドを使用してSSHキーのペアを生成し、追加のセキュリティのためにパスフレーズを追加することを検討してください。
  • ssh-copy-idを使用するか、手動で鍵をauthorized_keysファイルに貼り付けることによって、SSH公開鍵をリモートサーバーにコピーします。

SSHキーを使用することで、パスワードなしでリモートサーバーアカウントを安全に保ちながらアクセスできるようになります。Linuxで簡単に生成できます。

SSHキーとは何ですか?

SSHキーは、リモートマシンにログオンするための暗号的に生成されたキーです。SSHキーは公開鍵と秘密鍵を含む「鍵ペア」です。公開鍵をリモートマシンにコピーすることができ、それを使用して認証が行われます。名前が示す通り、秘密鍵はプライベートなものであり、あなたのローカルマシンに留めておくべきです。

誰にもあなたのプライベートSSHキーを共有しないでください!

ログイン時に、リモートサーバーはSSHを使用してあなたの公開鍵と秘密鍵を比較します。一致すれば、リモートシステムに入ることが許可されます。この鍵ペアシステムにより、セキュリティを保ちながらアカウントを簡単に設定できます。

リモートキーの生成方法

SSH キーペアを生成するには、Linux コマンドラインで "ssh-keygen" コマンドを使用するだけです。ファイルの保存先を選択するようプロンプトが表示され、その後使用する場合はパスフレーズを入力および確認する必要があります。このパスフレーズにより、キーに追加のセキュリティ層を追加できます。

パスフレーズを使用する場合は、それを忘れないでください! 忘れてしまうと、そのキーを使ってログインすることができなくなります。

パスワードなしでログインしたい場合は、パスフレーズを空白のままにしてください。

デフォルトでは、ssh-keygenはEd25519アルゴリズムを使用します。これはほとんどのケースで十分なほど安全です。使用したいアルゴリズムの種類は、-tフラグを使用して指定できます。サーバーが使用したアルゴリズムをサポートしていない限り、通常はこれを行う必要はありません。異なる鍵ペアを生成する方法については、ssh-keygenのマニュアルページを読むことができます。

新しいSSHキーをリモートマシンに取得する

キー ペアを生成したので、リモート サーバーにキーをコピーする必要があります。これを行う方法は 2 つあります。

最初で最も簡単なのは、ssh-copy-idユーティリティを使用することです。そうするには、リモートサーバーアカウントのユーザー名とアドレスを指定して呼び出してください:

ssh-copy-id user@example.com

パスワードを入力すると、あなたの秘密鍵がコピーされます。

これでリモートサーバーにログインできるようになります:

ssh user@example.com

それがうまくいかない場合は、パブリックキーを手動でコピーして貼り付ける必要があります。あなたのパブリックキーは、ホームディレクトリの.sshディレクトリにある「.pub」で終わるファイルになります。それを開いて、中身をコピーしてリモートマシンの.ssh/authorized_keysファイルに貼り付けてください。

ファイルを保存すると、SSHを使用してサーバーにログオンできるようになります。そのファイルがあなたのみが書き込み可能であることを確認してください。そうしないと、エラーが発生する可能性があります。

関連記事: