しんぺい
Ubuntuをインストールした直後はみなさん何してますか?
プログラミング初心者
しんぺい
Ubuntuをそのまま使うよりもやっておいた方がいいことがあるので、紹介しますね!
僕は普段からVPSではCentOSを入れていますが、Ubuntu入れてみたいということでやってみました!
今回使っているVPSは海外VPSのFlaunt7です。
Flaunt7の登録方法などはこちらの記事で書いていますので、Flaunt7に興味がある方はぜひ読んでみてください。

Ubuntuの新規ユーザーを作成する
まずはUbuntuのパッケージ情報を最新にします。
# sudo apt update
rootユーザーでログインするのは好ましくないので、まずはログイン用のユーザーを作成します。
# adduser hogehogeman
Adding user `hogehogeman' ...
Adding new group `hogehogeman' (1002) ...
Adding new user `hogehogeman' (1002) with group `hogehogeman' ...
Creating home directory `/home/hogehogeman' ...
Copying files from `/etc/skel' ...
Enter new UNIX password: # パスワード
Retype new UNIX password: # パスワード確認
passwd: password updated successfully
Changing the user information for mailman
Enter the new value, or press ENTER for the default
Full Name []: # Enter
Room Number []: # Enter
Work Phone []: # Enter
Home Phone []: # Enter
Other []: # Enter
Is the information correct? [Y/n] # Y
ユーザーの作成が完了したら、ユーザーをsudoグループに追加しておきます。
# gpasswd -a hogehogeman sudo
Adding user hogehogeman to group sudo
SSH接続ポートとユーザーを変更する
デフォルトの接続ポートが22ですが、これもセキュリティ上良くないので変更しておきます。
まずは先にバックアップを作ります。
# cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
ファイルの編集にvimを使いますが、もしvimが入っていなかったら先にインストールしておきます。
# sudo apt-get install vim
vimのインストールが完了したら早速編集しましょう。
# vi /etc/ssh/sshd_config
今回変更するのは以下の2つの項目です。
- ユーザー
- ポート
#Port 22 #コメントアウト
Port 20022 #好きなポートに変更
~~~~~
PermitRootLogin no #yesをnoに変更
使いたいポートが空いているかは、netstatコマンドで確認できます。
このコマンドで出力される一覧になければ使えます。
# netstat -an | grep tcp | grep LISTEN
これで、rootユーザーではSSH接続できない、かつポート22も使えない状態となりました。
sshdの構文チェックをし、問題がなければsshd設定を反映させます。
# sshd -t
# /etc/init.d/ssh restart
[ ok ] Restarting ssh (via systemctl): ssh.service.
1回ログアウトして、クライアント側の設定を修正します。
今回はconfigが設定されている前提ですので、configを修正します。
$ ~/.ssh/config
ポートを変更しましたので、SSH接続時にポートを指定する必要があります。
#hogehoge
Host hogehoge
HostName 1.234.56.78
Port 20022 # ポート指定追加
User hogehogeman # rootから、先ほど作成したログインユーザーに変更
再びSSH接続をし、問題なく接続できればOKです。
Ubuntuのファイアウォールを設定する
最後にUbuntuのファイアウォールを設定しておきます。
まずはufwコマンドでファイアウォールが有効になっているか確認します。
# ufw status verbose
Statusがactiveになっていなければ、ファイアウォールを有効化します。
# ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
「このコマンドは、既存のssh接続を中断する場合があります。続行しますか?」と聞かれるので、yで続行します。
この段階でSSHを絶対に切断しないでください。SSH接続できなくなってしまいます。
次に、許可するポートを設定します。
デフォルトであれば22ですが、先ほどポートを20022変更しましたので、
# ufw allow 20022
となります。
これでもう一度ログアウトし、再びSSH接続ができれば完了です!