VPS初期設定コマンドジェネレーター
VPSを借りたら最初に行うべきセキュリティ初期設定のコマンドを選択肢から自動生成。そのままターミナルにコピー&ペーストして実行できます。
設定オプション
実行コマンド手順
ステップ 1. 一般ユーザーの作成と管理者権限付与
# 一般ユーザーを追加します(パスワード設定プロンプトが開きます) sudo adduser adminuser # 追加した一般ユーザーに管理者権限 (sudo権限) を与えます sudo usermod -aG sudo adminuser
ステップ 2. 一般ユーザーへのSSH公開鍵の設定
# 一般ユーザー用の.sshディレクトリを作成し、適切なパーミッションを設定します mkdir -p /home/adminuser/.ssh chmod 700 /home/adminuser/.ssh # 公開鍵をauthorized_keysに書き込みます echo "# (ここに公開鍵を入力すると、コマンドに自動反映されます)" > /home/adminuser/.ssh/authorized_keys chmod 600 /home/adminuser/.ssh/authorized_keys # 作成したファイルとディレクトリの所有権を一般ユーザーに変更します chown -R adminuser:adminuser /home/adminuser/.ssh
ステップ 3. SSH設定の変更によるセキュリティ強化
# sshd_configのバックアップを作成します sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak # SSHの待受ポートをデフォルトの22から変更します sudo sed -i 's/^#Port 22/Port 2222/' /etc/ssh/sshd_config sudo sed -i 's/^Port 22/Port 2222/' /etc/ssh/sshd_config # rootユーザーでの直接ログインを禁止します sudo sed -i 's/^#PermitRootLogin.*/PermitRootLogin no/' /etc/ssh/sshd_config sudo sed -i 's/^PermitRootLogin.*/PermitRootLogin no/' /etc/ssh/sshd_config # パスワードでのログインを禁止し、鍵認証のみに制限します sudo sed -i 's/^#PasswordAuthentication.*/PasswordAuthentication no/' /etc/ssh/sshd_config sudo sed -i 's/^PasswordAuthentication.*/PasswordAuthentication no/' /etc/ssh/sshd_config
ステップ 4. ファイアウォールの設定 (UFW)
# UFWを初期化してすべての受信をブロック、送信を許可します sudo ufw default deny incoming sudo ufw default allow outgoing # 設定した新しいSSHポート番号でのアクセスを許可します sudo ufw allow 2222/tcp # Webサーバー用ポート(HTTP/HTTPS)へのアクセスを許可します sudo ufw allow 80/tcp sudo ufw allow 443/tcp # UFWを有効化します(SSH接続が切断されないよう確認が入ります) sudo ufw enable
ステップ 5. SSHサービスの再起動と動作テスト
# 設定を反映させるためにSSHデーモンを再起動します sudo systemctl restart sshd # 【重要】現在の接続を切断せず、別のターミナルを開いて一般ユーザーでのログインをテストしてください! # ssh -p 2222 -i [秘密鍵ファイルのパス] adminuser@[VPSのIPアドレス]