0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

VPSを借りたら最初にやるべきタスクリスト

Last updated at Posted at 2024-09-24

まえがき

※初めに明記しておきますがあくまで自分用の備忘録兼投稿のテストです。
似たような記事やより高品質な記事は探せばごまんと出てくるので、詳細が知りたい方は別の記事をご参考ください。

この記事の目標

なるべく簡潔に、VPS契約後の初期設定における最低限の諸々を漏れなくまとめる
(筆者は頻繁に環境の構築作業をするのですがその度にやり方を忘れたり抜けたりして調べているので...)
WebArenaは若干ほかと仕様が異なるのでメモ

実行する環境

Kagoya VPS / WebArena Indigo
Ubuntu (22.04 LTS)
この記事の手順ではUbuntuのバージョンによる差異はありません。

開始

VPS側のファイアウォール設定

サービスによって設定方法は異なるが、とりあえず22番ポートと任意のssh用ポート以外はまず閉める
後でsshポートの変更が済んだら22番も閉める
IP制限もかけるとなお良い

パッケージ群のアップデート

bash
# パッケージリストの更新
$ sudo apt update
# パッケージリストのアップデート
$ sudo apt upgrade -y

SSHポートの変更

コンフィグファイルをエディタで開く

bash
$ sudo vim /etc/ssh/sshd_config

コメントアウト削除、ポートは任意(この記事では40022に設定)

sshd_config
変更前
#Port 22
変更後
Port 40022

sshdを再起動して設定を反映

bash
$ sudo systemctl restart sshd

これが済んだら、変更したポートでssh接続し直す

OS側のファイアウォール設定

bash
# 大体最初から入っているとは思うが、念のため
$ sudo apt install ufw
# デフォルト設定をアクセス拒否に変更
$ sudo ufw default deny
# sshポートの開放
$ sudo ufw allow 40022
# ufwの有効化
$ sudo ufw enable

ユーザの作成

主要なVPSでは初めはrootでログインしている(例外あり)と思うので、別の作業用のユーザを作成する

bash
# 新規ユーザを作成(以下、YOURNAMEを任意のユーザ名に読み替えてください)
$ sudo adduser YOURNAME
# パスワードを2回入力、フルネームや部屋番号などは空欄でよい

# 作成したユーザをsudoグループに追加してsudo権限を付与
$ sudo gpasswd -a YOURNAME sudo

公開鍵の設定

VPSからダウンロードした秘密鍵はrootユーザの公開鍵とのペアなので、先ほど作成したユーザのログインでは使用できない
そのため今回は公開鍵をコピーして流用するが、これによりrootと一般ユーザが同一の鍵を持つことになるので一応注意
今回は後でrootログインを禁止する

bash
# rootの公開鍵を新規ユーザにコピー
$ sudo cp -r .ssh/ /home/YOURNAME/
# コピーした鍵に新規ユーザがアクセスできるよう権限付与
$ sudo chown -R YOURNAME:YOURNAME /home/YOURNAME/.ssh/

ここまで終わったら、新規ユーザでssh接続し直す

例外:WebArena Indigoの場合

初期ユーザはrootではなくubuntuという名前のsudoユーザとなっている
そのため、上の手順の実行はrootではなくubuntuユーザで行う
また、鍵のコピー後ubuntuユーザは不要となるのでリスク低減のため削除

bash
# ubuntuユーザから新規ユーザにログイン切り替え
$ su - YOURNAME
# ubuntuユーザで実行中のプロセスを確認
$ ps aux | grep ubuntu
# ↑で出力された中に、ubuntuユーザが実行中のプロセスがあれば停止
$ sudo kill <プロセスID>
# ubuntuユーザを消去
$ sudo userdel -r ubuntu

rootログインの禁止

コンフィグファイルをエディタで再度開く

bash
$ sudo vim /etc/ssh/sshd_config

rootログインとパスワード認証を禁止
変更する箇所のコメントアウトは削除する

sshd_config
変更前
#PermitRootLogin prohibit-password
変更後
PermitRootLogin no
---------------------------
変更前
#PasswordAuthentication yes
変更後
PasswordAuthentication no

sshdを再起動して設定を反映

bash
$ sudo systemctl restart sshd

ホスト名の変更

bash
# HOSTNAMEを任意の名前に読み替え
$ sudo hostnamectl set-hostname HOSTNAME

ここまで出来たら、作業は一区切りついたので一度システムを再起動

bash
$ sudo systemctl reboot

(WebArenaのみ)タイムゾーンの変更

デフォルトタイムゾーンがUTCなのでJSTに変更

bash
# 日本時間(Asia/Tokyoゾーン)に変更
$ sudo timedatectl set-timezone Asia/Tokyo
0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?