ConoHa VPSでUbuntuサーバーを作成したときに最初にやるべき初期設定
ConoHa VPSでUbuntu Serverを作成した直後に、セキュリティ強化のために私が最初に行っている初期設定の手順を紹介します。
初期設定の流れ
- 一般ユーザーの作成とsudo権限の付与
- SSHサーバ設定 (ポート番号変更・rootユーザログイン禁止)
- ファイアウォール設定 (ssh用ポート許可)
- パッケージの最新化(アップデート)
- SSH接続テスト
セキュリティを高めるための設定は多岐にわたりますが、まずはサーバーを安全に運用するための「最低限の必須項目」を順を追って解説します。
なお、初期のセットアップ作業はConoHaのコントロールパネルにある「Webコンソール」から行っています。
webコンソールの使い方
設定トラブルでSSH接続ができなくなった場合や、VPSを作成したての時によくお世話になるコンソールの接続方法です。
コントロールパネルにログインするとVPS一覧が表示されるので、接続したいVPSの「コンソールアイコン」をクリックすることで起動できます。
ログイン直後の画面から遷移してしまっている場合
ログイン直後の画面から遷移してしまっている場合は、下記の手順でコンソールに接続することが出来ます。
- 左メニューの「サーバー」をクリック
- 対象VPSの「ネームタグ」をクリック
選択したVPSの画面が表示されるので、コンソールアイコンをクリックすることでコンソールに接続することが出来ます。
エディタについて
今回の手順では設定ファイルの編集に「vi」エディタを使用してますが、「nano」等を使用しても問題ありませんので、使いやすいエディタを使用してください。
viの使い方
簡単なviの使い方を下記サイトで説明していますので、もしよかったら参照してみてください。
https://www.server-memo.net/tips/command/vi/start_vi.html
一般ユーザの作成
ConoHa VPSの場合、VPSで作成した初期状態のUbuntuには、管理者である「root」ユーザしか存在していません。
「root」ユーザーを直接運用するのは危険なため、作業用の一般ユーザーを作成し、管理者権限(sudo)もあわせて付与しておきます。
コントロールパネルにあるコンソールでrootユーザでログインしてユーザの追加作業を行っていきます。
# adduser ユーザ名 # gpasswd -a ユーザ名 sudo
これ以後の作業はここで作成したユーザで行っていきますので、一度ログアウトして作成したユーザでログインし直して下さい。
# logout
SSHサーバ設定
外部からの不正アクセスやブルートフォースアタックを防ぐため、以下の2点の設定を行っていきます。
- ポート番号変更(例: 10022)
- rootユーザによるSSHログインの禁止
※ Ubuntu 22.04とUbuntu 24.04、26.04ではSSHサーバの変更方法が大きく異なるため、使用しているOSのバージョンに合わせて設定を行ってください。
Ubuntu Server 22.04の場合
SSHサーバの設定を行うファイルは「/etc/ssh/sshd_config」なので、設定ファイルのバックアップを行ってから作業を行っていきます。
$ sudo cp -p /etc/ssh/sshd_config /etc/ssh/sshd_config_`date +%Y%m%d-%H%M%S` $ sudo vi /etc/ssh/sshd_config
ポート番号変更
SSHサーバの初期設定では22番ポートを使用しますが、このポートにはブルートフォースアタックが多いので、SSHで接続するためのポート番号を変更しておきます。
とりあえず今回はポート番号を10022番に変更していますが、他のサービスと被らなければ他の番号でも良いです。
設定項目
# 変更前 #Port 22 # 変更後 Port 10022
rootユーザログイン禁止
初期設定ではrootユーザでのSSH接続が許可されていますが、rootユーザーで不正ログインされるとシステム全体が乗っ取られる危険があるため、rootユーザではSSH接続出来ないように設定を変更しておきます。
設定項目
# 変更前 #PermitRootLogin yes # 変更後 PermitRootLogin no
設定反映
設定の完了後、SSHサーバーを再起動して設定を反映させます。
$ sudo systemctl restart sshd
Ubuntu Server 24.04, 26.04の場合
ポート番号変更
SSHサーバの初期設定では22番ポートを使用しますが、このポートにはブルートフォースアタックが多いので、SSHで接続するためのポート番号を変更しておきます。
Ubuntu 22.10以降、SSHサーバーは「systemd」のソケットアクティベーション機能(ssh.socket)で制御されているため、「/etc/ssh/sshd_config」の「Port」による指定ではポート番号を設定することが出来なくなりました。
ポート番号を変更するには、以下のコマンドを実行してsystemdのドロップインファイルを作成・編集します。
$ sudo systemctl edit ssh.socket
設定項目
SSHサーバーの待受ポートを22番から10022番に変更するため、コメントの間に以下の内容を追記します。
※今回はポート番号を10022番に変更していますが、他のサービスと被らなければ他の番号でも良いです。
【設定のポイント】
最初に「ListenStream=」(空指定)を記述することで、デフォルトの22番ポート設定をクリアします。その上でIPv4(0.0.0.0:10022)とIPv6([::]:10022)の待受ポートをそれぞれ指定します。
### Editing /etc/systemd/system/ssh.socket.d/override.conf
### Anything between here and the comment below will become the contents of the drop-in file
[Socket]
ListenStream=
ListenStream=0.0.0.0:10022
ListenStream=[::]:10022
### Edits below this comment will be discarded
##### 以下省略 #####
編集方法
初期設定では設定用のエディタとして「nano」が起動します。
- カーソル移動:矢印キー
- 文字の削除:「Backspace」「Delete」キー
- 保存操作:Ctrl + X を押す
- 保存確認:「Save modified buffer?」と表示されたら「Y」キーを押す
- ファイル名確定:そのまま「Enter」キーを押す
書き込みするファイル名は以下のように表示されるので、そのまま「Enter」キーを押下してファイルに書き込みを行い編集を終了させます。
File Name to Write: /etc/systemd/system/ssh.socket.d/.#override.confdd96ec677194c0a7 ^G Help M-D DOS Format M-A Append M-B Backup File ^C Cancel M-M Mac Format M-P Prepend ^T Browse
編集が完了すると、画面上に以下の成功メッセージが表示されます
Successfully installed edited file '/etc/systemd/system/ssh.socket.d/override.conf'.
設定反映
設定完了後、「ssh.socket」と「ssh」サービスを再起動して設定を反映させます。
$ sudo systemctl restart ssh.socket $ sudo systemctl restart ssh
rootユーザログイン禁止
Ubuntu 24.04 / 26.04 では、「/etc/ssh/sshd_config.d」配下の設定ファイルが「/etc/ssh/sshd_config」の設定よりも優先して読み込まれます。
設定の分離と管理を容易にするため、専用の設定ファイルを作成して設定を行います。
$ sudo vi /etc/ssh/sshd_config.d/10-PermitRootLogin.conf
設定内容
ファイル内に以下の内容を記述します。
PermitRootLogin no
設定反映
設定完了後にSSHサービスを再起動して設定を反映します。
$ sudo systemctl restart ssh
設定が変更されているかの確認は以下の方法で確認することが出来ます。
$ sudo sshd -T | grep -i PermitRootLogin permitrootlogin no
ファイアウォール設定
VPSを作成したての状態ではファイアウォール機能は停止しているので、有効化したあとにSSH接続用ポートの通信を許可する設定を行います。
ファイアウォールの有効化
まずはファイアウォールを有効化します。
$ sudo ufw enable Firewall is active and enabled on system startup
SSH用ポートの通信許可設定
次にSSH接続用ポートの通信許可のルールをufw allowで追加します。
今回はSSHサーバの設定でポート番号を10022番に変更しているので、このポートの通信を許可していますが、別の番号にしている場合は適宜読み替えてください。
$ sudo ufw allow 10022/tcp Rule added Rule added (v6)
追加したルールに間違いがないかufw status verboseコマンドで確認しておいてください。
$ sudo ufw status verbose Status: active Logging: on (low) Default: reject (incoming), allow (outgoing), disabled (routed) New profiles: skip To Action From -- ------ ---- 22/tcp (OpenSSH) ALLOW IN Anywhere 10022/tcp ALLOW IN Anywhere 22/tcp (OpenSSH (v6)) ALLOW IN Anywhere (v6) 10022/tcp (v6) ALLOW IN Anywhere (v6)
追加したルールに問題がなければ設定の読み込みを行います。
$ sudo ufw reload
ルールの追加が終わったら、10022番ポートを使用してSSH接続を行って動作確認を行ってください。
問題なく接続できるようでしたら、もともと設定されていた22番ポートを許可するルールを削除しておきましょう。
初期設定のSSH通信許可ルールを削除
「ufw status numbered」で設定されているルールの番号を表示させます。
$ sudo ufw status numbered
Status: active
To Action From
-- ------ ----
[ 1] OpenSSH ALLOW IN Anywhere
[ 2] 10022/tcp ALLOW IN Anywhere
[ 3] OpenSSH (v6) ALLOW IN Anywhere (v6)
[ 4] 10022/tcp (v6) ALLOW IN Anywhere (v6)
ufw deleteで削除したいルールの番号を指定して削除を行います。
初期状態で設定されていた1番のルールを削除します。
$ sudo ufw delete 1
Deleting:
allow OpenSSH
Proceed with operation (y|n)? y # 「y」を入力
Rule deleted
ufw status numberedを実行してルールが削除されたことを確認します。
$ sudo ufw status numbered
Status: active
To Action From
-- ------ ----
[ 1] 10022/tcp ALLOW IN Anywhere
[ 2] OpenSSH (v6) ALLOW IN Anywhere (v6)
[ 3] 10022/tcp (v6) ALLOW IN Anywhere (v6)
同様にIPv6用のルールも削除します。
$ sudo ufw delete 2
Deleting:
allow OpenSSH
Proceed with operation (y|n)? y # 「y」を入力
Rule deleted (v6)
ルールが削除されていることを確認します。
$ sudo ufw status numbered
Status: active
To Action From
-- ------ ----
[ 1] 10022/tcp ALLOW IN Anywhere
[ 2] 10022/tcp (v6) ALLOW IN Anywhere (v6)
ルールの削除が終わりましたら、念の為に設定の再読込を行っておきます。
$ sudo ufw reload
ufwの使い方について
ufwの簡単な使い方を下記のページで説明しているので、よかったら参照してみてください。

セキュリティゾーン設定 (ConoHa VPS ver3.0の場合)
「ConoHa VPS」のバージョン3.0では、「ufw」で「Ubuntu」のファイアウォール設定を行う以外に、「ConoHa VPS」のコントロールパネルでセキュリティグループを作成して、VPSに設定を追加する必要があります。
ご利用ガイド セキュリティグループ機能を使う:https://support.conoha.jp/v/v3-security-securitygroup/
「ConoHa VPS}のコントロールパネルにログイン後、「セキュリティ」-「セキュリティグループ」-「セキュリティグループ」と選択して、10022番ポートの通信を許可する設定を作成します。
新しく作成するセキュリティグループ名と説明を入力した後に「保存」ボタンをクリックします。
セキュリティグループリストから、新しく作成したセキュリティグループをクリックして選択します。
セキュリティグループに設定されているルールが表示されるので、下の方にある「+」をクリックしてルールを追加します。
ルールを設定する画面が表示されるので、以下のように設定を行い「決定」ボタンをクリックします。
※SSHのポート番号が10022以外に設定した場合は、それにあわせて「ポート範囲」を設定してください。
追加されたルールの内容に間違いがないかを確認してください。
※IPv6のルールも必要であれば、同様の手順でルールを追加してください。
作成したセキュリティグループをVPSへ追加
コントロールパネルの左側にあるメニューから「サーバ」をクリックし、表示されたサーバ一覧からセキュリティグループ適用させたいサーバの「ネームダグ」をクリックします。
「ネットワーク情報」をクリックし、表示された項目の中にある「セキュリティグループ」の右側にある鉛筆型の「編集」アイコンをクリックします。
「+」アイコンをクリックします。
作成した「セキュリティグループ」を選択し、「保存」ボタンをクリックして「セキュリティグループ」を追加します。
追加した「セキュリティグループ」が表示されていることを確認してください。
パッケージ更新
サーバにインストールされているパッケージの更新も作業も行っておきましょう。
$ sudo apt update $ sudo apt upgrade
サーバ再起動
ここまでの作業が完了したらサーバの再起動を行います。
$ sudo reboot
SSH接続テスト
サーバの再起動が完了したら、SSHの接続テストを行っておきましょう。
- 一般ユーザログインできること
- 22番ポートを使用してログインできないと
- rootユーザでログインできないこと
以上で作業は完了となります、お疲れ様でした!
SSHサーバを公開鍵認証方式へ変更
運用上問題が無ければSSHの認証を公開鍵認証方式へ変更しておくことで、秘密鍵を持っているクライアントからしかログインすることができなくなり、セキュリティがより高まります。
ただし、公開鍵認証を導入することで下記のようなデメリットも発生しますので、内容を考慮した上で導入するかどうかの決めてください。
- サーバの所有者でも秘密鍵がないと接続できない
- 秘密鍵をなくすと再作成や再設定が必要になる
設定手順
設定方法については下記のページで解説しています。

秘密を鍵をなくしたら?
秘密鍵をなくした場合や秘密鍵が手元にない場合でも、ConoHaのサイトからコントロールパネルにアクセスし、そこのコンソールからVPSを操作することができるので、まったくVPSに接続する方法がなくなるということはありません。
















コメント