2026年11月7日
2026年11月7日
VPSにSSH公開鍵を設定する方法
はじめに
本記事では、VPS(仮想プライベートサーバー)上でSSH公開鍵認証を行う方法を詳しく説明します。SSHは暗号化通信を使用してセキュアな接続を行うためのプロトコルですが、パスワード認証よりも安全で管理が容易です。特に、複数回ログインが必要な場合や、cronジョブを定期的に実行する必要がある場合などに、公開鍵認証は非常に有用です。
症状・背景
このテーマが必要になる主な場面:
- VPSの管理者権限を持つユーザーが、より安全で効率的なログイン方法を必要とするとき
- リモートからVPSに定期的にアクセスする場合
- 様々なクライアントから同一のユーザー名とパスワードを使用してログインするのではなく、公開鍵認証を使用したい場合
手順・設定方法
ステップ1: キーペアの生成
# ユーザーとしてSSH鍵ペアを生成します。プライベートキーは暗号化され、一般的に ~/.ssh/id_rsa.pub に公開鍵が保存されます。
$ ssh-keygen -t rsa -b 4096
# 入力された促しには通常Enterキーを押してデフォルト値を使用します。
ステップ2: 公開鍵の追加
# ローカルマシンからVPSに接続するために、公開鍵を移動または追加します。
$ ssh-copy-id username@your-vps-ip-address
# このコマンドはローカルの ~/.ssh/id_rsa.pub をVPSの ~/.ssh/authorized_keys にコピーします。
ステップ3: 接続テスト
# 公開鍵認証が正しく設定されたことを確認するために、SSH接続を試みます。
$ ssh username@your-vps-ip-address
# パスワードを求められなければ、公開鍵認証は成功しています。
ステップ4: ログイン記録とセキュリティ
# SSHログの確認を行い、公開鍵認証が正しく機能していることを確認します。
$ tail -f /var/log/auth.log
# あるいは、SSH接続履歴を表示するために以下のコマンドを使用します:
$ last | grep username
注意事項
- 公開鍵は厳密に管理すること:公開鍵が漏洩すると、その鍵でアクセスできるVPSのセキュリティが脅かされます。
- 複数のユーザー名に対して異なる公開鍵を使用する場合は、それぞれのユーザー名に対応する ~/.ssh/authorized_keys ファイルを作成し、そこに特定の公開鍵を追加します。
- 公開鍵認証を設定した後も、定期的にSSH接続ログを確認して不審なアクティビティがないかチェックすることが推奨されます。
まとめ
1. キーペアの生成: SSH鍵ペアを作成し、プライベートキーと公開キーを適切に管理します。
2. 公開鍵の追加: ローカルマシンからVPSへの接続に必要な公開鍵を追加します。
3. 接続テスト: 公開鍵認証が正しく機能していることを確認します。
4. ログ監視: 定期的にSSHログをチェックして、セキュリティの侵害がないか確認します。
関連記事: