ConoHaでVPSを借りたらやること
ConoHaの紹介
- RAM 512MB, SSD 30GBで1時間1円~(1ヶ月620円)
- ここから登録すると私にクーポンが入るのでお願いします。
レンタルサーバーならConoHa|登録者数28万アカウント突破
広告終わり
この記事のゴール
これらができれば大抵のことはもうソフト入れるだけだと思うのでここだけ。
サーバー追加
ConoHaコントロールパネルから「サーバー追加」をします。
設定項目
項目 | 内容 |
---|---|
リージョン | 東京 |
サービス | VPS |
VPS割引きっぷ | 利用しない(任意) |
サーバー | 512MB, 620円/月(任意) |
イメージタイプ | OS: Ubuntu 20.04(64bit) |
rootパスワード | ちゃんとしたパスワードを使う |
ネームタグ | デフォのままでもOK |
設定したら右側の「追加」を押す。 料金は右側にあるので念の為確認しておく。
今の状態
- ポート全部開放
- ユーザーはrootのみ
- パスワードはConoHaコントロールパネルで設定したもの
サーバーへのログイン
初回ログインに必要な情報を揃える
接続先
IPv4でもIPv6でも使用する事ができますが、この記事ではIPv4を使用します。
ユーザー・パスワード
ユーザー名は root
パスワードは先に設定したパスワードです。
ログインする
RLogin から、上記の情報でログインします。 ※ 画像では * でマスクしています
root@118-27-***-***:~#
このような表示が表示されたらOKです。
以下、コマンドは #
から始まる列はrootユーザー、$
で始まる列は作業用ユーザーで有ることを示します。
ユーザー周りの作業
作業用ユーザーの追加
# adduser delta Adding user `delta' ... Adding new group `delta' (1000) ... Adding new user `delta' (1000) with group `delta' ... Creating home directory `/home/delta' ... Copying files from `/etc/skel' ... New password: Retype new password: passwd: password updated successfully Changing the user information for delta Enter the new value, or press ENTER for the default Full Name []: Room Number []: Work Phone []: Home Phone []: Other []: Is the information correct? [Y/n] Y
- New password, Retype new password にはパスワードをタイプ。
- 弱すぎるものはWarningが表示されるので入れ直す。
- 最後に
Y
はなくても大丈夫。
作業用ユーザーをsudoersに追加
# usermod -G sudo delta
作業用ユーザーにスイッチ
# su - delta delta@118-27-***-***:~$
鍵認証でのログインをできるようにする
ローカル(または踏み台など)で鍵対を生成
コマンドで作ったり、RLoginの機能で作ったり。
要件にもよるが、サーバーで作っても意味がないのでローカルで作るのがおすすめ。
秘密鍵, 公開鍵のペアを保管しておく(ログインに必要)
パスフレーズは適当なものを設定しておく
- rootだったり作業用ユーザのパスワードと違うものにする
- パスワードの使い回しはいずれにせよ論外
- rootだったり作業用ユーザのパスワードと違うものにする
可能であればEd25519形式
- 最近のSSHバージョンなら使えるはず
公開鍵をサーバーに設定する
念の為、ローカルでメモ帳などを起動して、これから貼り付ける内容を確認しておく。
- 公開鍵は以下のような始まり
ssh-ed25519 AAAAC3NzaC1...
- 秘密鍵は以下のような始まり(こっちは使わない)
-----BEGIN OPENSSH PRIVATE KEY-----
前者の公開鍵をこれから使用します
- 公開鍵すべてを"..."に入れます
- 例では省略しています
~/.ssh/authorized_keys
に公開鍵を追加する~/.ssh/
のアクセス権を700
にする
$ mkdir -p ~/.ssh/ $ touch ~/.ssh/authorized_keys $ echo "ssh-ed25519 AAAAC3NzaC1..." >> ~/.ssh/authorized_keys
$ chmod 700 ~/.ssh
試しにログインしてみる
パスワード認証をせずに秘密鍵+パスフレーズでログインできることを確認します。
今の状態
- rootにパスワードでログインできる
- 作業用ユーザ(今回は:
delta
)にパスワード or 秘密鍵でログインできる
パスワードでのログインを禁止する・rootでのログインを禁止する
平文のパスワードで認証するのはセキュリティ的に微妙なのでパスワードでのログインを禁止します。
また、直接外部からrootにログインできるのも微妙なのでこちらも禁止します。
root
になるときは作業用ユーザーからsudo su -
すれば良い- そもそも作業用ユーザーから
sudo
使えばいい
なお、テキストエディタは任意のものを使用して下さい。もし手軽に編集するならnano
がおすすめです。
それからVimとかEmacsとか好きなものを探せばいいと思う…
$ sudo nano /etc/ssh/sshd_config
PermitRootLogin yes
→ PermitRootLogin no
PasswordAuthentication yes
→ PasswordAuthentication no
上の2つを編集したら保存後、sshdを再起動します。
$ sudo systemctl restart sshd.service
ファイアウォールを設定する
ここからの設定を誤ったり、再起動するタイミングを誤ると締め出される(SSHなどからのアクセスできなくなる)ことになります。
IPv4とIPv6では設定が異なることに注意して下さい。例えばIPv4では設定できているのに、IPv6では設定できておらず、全てのポートが開けっ放しになる問題もあります。
今回の想定はWebサーバーなので以下のとおりです。
サービス | ポート番号(tcp) | 内容 |
---|---|---|
ssh | 22 | Allow(許可) |
http | 80 | Allow |
https | 443 | Allow |
これら以外はDeny(拒否) |
実際のコマンドは以下のとおり。
$ sudo ufw default deny Default incoming policy changed to 'deny' (be sure to update your rules accordingly) $ sudo ufw allow ssh Rules updated Rules updated (v6) $ sudo ufw allow http Rules updated Rules updated (v6) $ sudo ufw allow https Rules updated Rules updated (v6)
これらを実行後、ufwを有効化します。 SSHで接続している場合、ここで締め出しされる可能性があるので十分に注意して下さい。(
なお、ConoHaの場合ConoHaコントロールパネルの「コンソール」から強制的にrootでログインできます。失敗してもufwを無効にしてから設定を見直して下さい。
ファイアウォールの有効化
$ sudo ufw enable Command may disrupt existing ssh connections. Proceed with operation (y|n)? Y Firewall is active and enabled on system startup
ファイアウォールが動いているかの確認
$ sudo ufw status numbered Status: active To Action From -- ------ ---- [ 1] 22/tcp ALLOW IN Anywhere [ 2] 80/tcp ALLOW IN Anywhere [ 3] 443/tcp ALLOW IN Anywhere [ 4] 22/tcp (v6) ALLOW IN Anywhere (v6) [ 5] 80/tcp (v6) ALLOW IN Anywhere (v6) [ 6] 443/tcp (v6) ALLOW IN Anywhere (v6)
おわりに
ここまで終われば後はソフトなどを入れて使うだけです。
めでたし めでたし