確実なSSH接続を実現!鍵ペア作成の完全ガイド【初心者向け】

確実なSSH接続を実現!鍵ペア作成の完全ガイド【初心者向け】

SSH接続を安全に行うために欠かせない鍵ペア。その作成方法を、初心者の方にも理解しやすいよう丁寧に解説いたします。公開鍵と秘密鍵の役割から、作成手順、サーバーへの登録方法まで、ステップバイステップで進めていきますので、ぜひ最後までお読みください。

SSH鍵ペアとは? なぜ必要なの?

SSH(セキュア・シェル)は、安全にリモートサーバーに接続するためのプロトコルです。パスワード認証も可能ですが、セキュリティの観点から、鍵ペアを用いた認証が推奨されています。鍵ペアは、公開鍵と秘密鍵の2つで構成されます。公開鍵はサーバーに登録し、秘密鍵は自分のコンピュータで厳重に管理します。これにより、秘密鍵を持っている人だけがサーバーにアクセスできるようになります。

鍵ペア認証のメリットは以下の通りです。

  • セキュリティの向上: パスワード認証よりも安全性が格段に高まります。秘密鍵がなければアクセスできないため、不正アクセスのリスクを大幅に低減できます。
  • パスワード管理の手間削減: 複数のサーバーにアクセスする場合、それぞれのパスワードを覚える必要がありません。秘密鍵を適切に管理すれば、パスワード入力の手間を省けます。
  • 自動化の容易化: スクリプトなどで自動的にサーバーに接続する際に、鍵ペア認証は非常に便利です。パスワードを入力する必要がないため、効率的な作業が可能となります。

鍵ペアを作成してみよう!

それでは、実際に鍵ペアを作成する手順を説明いたします。ここでは、広く利用されているOpenSSHを用いた作成方法をご紹介します。

  1. ターミナルを開く: ご自身のPCでターミナル(コマンドプロンプトやPowerShellなど)を開いてください。
  2. 鍵生成コマンドを実行: 以下のコマンドを実行して鍵ペアを生成します。
    ssh-keygen -t rsa
    
    このコマンドは、RSAアルゴリズムを用いて鍵ペアを生成します。他のアルゴリズムを利用したい場合は、-tオプションで指定できます。
  3. 鍵の保存場所とパスフレーズを設定: 鍵の保存場所とパスフレーズを聞かれるので、適宜入力します。保存場所はデフォルトのままでも問題ありません。パスフレーズは、秘密鍵を保護するためのパスワードです。設定したパスフレーズは忘れないように、安全な場所に保管してください。パスフレーズを設定しないことも可能ですが、セキュリティの観点から設定することを強く推奨します。
  4. 鍵ペアの確認: 指定した場所に、id_rsa(秘密鍵)とid_rsa.pub(公開鍵)という2つのファイルが生成されます。秘密鍵は絶対に他人に渡したり、公開したりしないでください。

作成した鍵ペアをサーバーに登録しよう

作成した鍵ペアのうち、公開鍵(id_rsa.pub)をサーバーに登録することで、鍵ペア認証が可能になります。

  1. 公開鍵の内容をコピー: id_rsa.pubファイルの内容をコピーします。ターミナルで以下のコマンドを実行すると、内容をコピーできます。
    cat ~/.ssh/id_rsa.pub | clip
    
  2. サーバーに接続: ターミナルで、SSH接続したいサーバーに接続します。
  3. authorized_keysファイルに公開鍵を追加: サーバーに接続後、.sshディレクトリにauthorized_keysファイルを作成(または既存のファイルを開き)し、コピーした公開鍵の内容を貼り付けます。
  4. パーミッションの変更: authorized_keysファイルのパーミッションを600に変更します。これにより、自分以外のユーザーがファイルの内容を読み取れないようにします。以下のコマンドを実行してください。
    chmod 600 ~/.ssh/authorized_keys
    

これで、鍵ペアを用いたSSH接続の設定は完了です。次回サーバーに接続する際は、秘密鍵を用いて認証が行われます。

まとめ

今回は、SSH鍵ペアの作成方法からサーバーへの登録方法までを解説いたしました。鍵ペア認証は、セキュリティを高める上で非常に重要な要素です。ぜひ、本記事を参考に、安全なSSH接続を実現してください。もし、手順で不明な点があれば、お気軽にご質問ください。

関連記事