SSH公開鍵認証の導入と、Configによるスマートな接続管理
✅ 🚀 はじめに:パスワード認証からの脱却
Raspberry Pi(ラズパイ)で自宅サーバーを構築した際、最初に行う設定の一つがリモートアクセス(SSH)の準備です。初期状態では「ユーザー名とパスワード」によるログインが一般的ですが、インターネットに公開したり、より安全なサーバー運用を目指したりするなら、初期の段階で「公開鍵認証」に移行すべきです。今回は、セキュリティ向上だけでなく、日々のログイン作業を劇的に効率化する方法についても解説します。
✅ なぜ「公開鍵認証」が必要なのか
従来のパスワード認証には、常に「ブルートフォースアタック(総当たり攻撃)」のリスクがつきまといます。また、単純なパスワードでは推測される危険性もあります。一方で、公開鍵認証は「公開鍵」と「秘密鍵」という2つのペアを使用します。
- 秘密鍵: 自分のPCに厳重に保管するもの。
- 公開鍵: サーバー側に保存するもの(盗まれても問題ない)。
この「秘密鍵を持っている本人しかログインできない」という物理的な制限が、サーバーのセキュリティを一段上のレベルに引き上げてくれます。
✅ 📝 ステップ1:鍵ペアの生成
まずはクライアントPC(今回はMacを想定)で、SSH接続用の鍵ペアを作成します。
$ ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa_raspberry
📌 コマンドの解説
-t rsa: 暗号化アルゴリズムにRSAを指定します。-b 4096: 鍵の長さを4096ビットに指定し、より強固な暗号化を行います。-f id_rsa_raspberry: ファイル名を指定します。複数のサーバーを管理する場合、接続先がわかる名前を付けておくのがエンジニアの作法です。
ここでファイル名を指定しないと、デフォルトのid_rsaが使用されます。実行後、パスフレーズの入力を求められます。これは秘密鍵自体を保護するためのパスワードです。セキュリティを最大化するため、設定しておくことを強く推奨します。
✅ 📝 ステップ2:サーバーへの公開鍵の登録
作成されたファイルのうち、.pubという拡張子がついた方が「公開鍵」です。この中身を、接続先であるラズパイの~/.ssh/authorized_keysに追記します。
クライアント側で公開鍵の中身を表示してコピー
cat ~/.ssh/id_rsa_raspberry.pub
サーバー側の操作
mkdir -p ~/.ssh
chmod 700 ~/.ssh
echo "コピーした公開鍵の内容" >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
ここでパーミッション(権限)の設定を誤ると、SSHデーモンが安全ではないと判断して接続を拒否するため、注意が必要です。
✅ 📝 ステップ3:SSH Configによる接続の効率化
毎回$ ssh user@ip-address -i ~/.ssh/id_rsa_raspberryと入力するのは手間がかかります。そこで、~/.ssh/configファイルを活用して接続を簡略化しましょう。
vim ~/.ssh/config
以下の内容を記述します。
Host my-raspberry
HostName 192.168.x.x # ラズパイのIPアドレス
User pi # ログインユーザー名
IdentityFile ~/.ssh/id_rsa_raspberry # 秘密鍵のパス
この設定を行うことで、次からは以下の短いコマンドだけでログインが可能になります。
$ ssh my-raspberry
✅ ⚠️ トラブルシューティング:接続できない時のチェックポイント
設定中に私が直面したのが、「秘密鍵のパスを指定し忘れて接続できない」というミスでした。configファイル内でIdentityFileを正しく指定しているか、今一度確認が必要です。また、接続できない場合は以下のコマンドで詳細なログを確認するのが、ネットワークスペシャリスト的なデバッグ手法です。
$ ssh -v my-raspberry
✅ 📌 まとめ:セキュリティは「面倒」を減らしてこそ定着する
公開鍵認証を導入することで、強固なセキュリティを手に入れると同時に、Config設定によってログインの手間を最小限に抑えることができました。「セキュリティを高めると不便になる」と思われがちですが、こうした工夫によって「安全かつ便利」な環境を構築することが、プロのエンジニアへの第一歩です。2021年の学習当初に感じたこの「接続できた時の感動」を忘れずに、さらに高度なインフラ構築へとステップアップしていきたいと思います。
LEE
SIチーム管理職
2024年よりSIチームの管理職に従事。技術とマネジメントの両立をモットーに、現場のリアルな知見を発信しています。趣味は車とガジェット。