snovaのブログ

主にプログラミングやデジタルコンテンツについて書きます。最近はPython, Flutter, VRに興味があります。

ConoHa VPSを使ってみた

イントロダクション

昔からVPSが気になっていたのですが、なかなか時間が取れずできていませんでした。 少し休みが取れたので、VPSを始めてみました。

目次

VPS(Virtual Private Server)とは

レンタルサーバのサービスの1種です。 1つの物理サーバの中に仮想的に複数のサーバを作ることで、自由度が高い環境を安価に手に入れることができます。 わかりやすい説明はこちらのサイトを参照してください。

なぜこのサービスを選んだのか?

知名度、信頼、料金等を考えて、さくらインターネットConoHa VPSに絞りました。 正直、どちらにするか悩みましたが、初期費用がないということでConoHa VPSにしました。

アカウントの登録

利用までの流れは、"ConoHaアカウント"の作成→VPSの追加です。 基本的に画面の指示に従っていけばアカウント登録できます。 f:id:snova301:20190502121134p:plain 公式サイトにマンガで学ぶConoHaという記事があるので参考にしてください。

VPSの利用

使い方は公式ご利用ガイドに大体載っています。 f:id:snova301:20190502121502p:plain ConoHaコントロールパネルから入りたいvpsを選択し、"コンソール"を選択すればCLIの画面が出てきます。 f:id:snova301:20190502121532p:plain はじめて入るときは"root"アカウントと先ほど決めたrootパスワードで入ってください。 入ってみても何もないと思うのですが、念のため動作確認のためlspwdとか打ってみてください。

一般ユーザの設定

はじめはrootで入っているので、一般ユーザを追加します。 公式ガイドでは$ useraddとなっていますが、私はUbuntu 18.04で登録したので、$ adduser [USERNAME]([USERNAME]は各自で決める)でユーザを追加します。 パスワードも打ち終わったら、一度ログアウトして新しいユーザで入れるか試してください。

これから

まずはセキュリティ設定をしないといけません(疎いので勉強しながら設定してます)。 それができたら、いろいろ実験してみて報告しようと思います。

2019/05/03追記

最低限のセキュリティ設定をしたので、備忘録として載せます。

概要

  • 公開鍵認証でssh接続
  • rootユーザーでssh接続を拒否
  • ssh接続でパスワード認証を拒否
  • ポート番号の変更
  • ファイアウォールの設定

以下は、VPSスタートアップガイド - ConoHa公式【チュートリアル】VPSを借りたらやるべき最低限のセキュリティ初期設定 - Enjoy IT Lifeを参考にしています。

公開鍵認証でssh接続

1.ssh接続まで
sudo vi /etc/ssh/sshd_config

でviを起動。

...
PasswordAuthentication yes
...
ChallengeResponseAuthentication yes
...
AuthorizedKeysFile      .ssh/authorized_keys .ssh/authorized_keys2

コメントアウトを外し、[yes]にします。

CentOSなら

service sshd restart

または

systemctl reload sshd

Ubuntuなら

sudo /etc/init.d/ssh restart

sshを再起動。

ssh接続できるようになっているのか確認。

ssh [USERNAME]@[IP Address]
2.公開鍵の作成

ローカル側で

cd ~/.ssh
ssh-keygen -t rsa -b 2048 -f conoha

このとき、パスフレーズは空白にしないようにします。

公開鍵をローカルからサーバに転送。

$ ssh-copy-id -i [public key filename] [USERNAME]@[IP Address]

ログインは-iオプションをつけて。

ssh -i ~/.ssh/conoha [USERNAME]@[IP Address]
3.sshのconfig設定

楽にssh接続できます。

touch config # もしconfigファイルがないなら
vi config

viで以下のように編集します。

Host conoha
    HostName [IP Address]
    User [USERNAME]
    IdentityFile ~/.ssh/conoha

rootユーザーでssh接続を拒否

sudo vi /etc/ssh/sshd_config

でviを起動。

PermitRootLogin yes

コメントアウトを外し、[yes]を[no]に変えます。

ssh接続でパスワード認証を拒否

sudo vi /etc/ssh/sshd_config

でviを起動。

PasswordAuthentication yes
...
ChallengeResponseAuthentication yes

の部分を[yes]→[no]にします。

sudo /etc/init.d/ssh restart

sshを再起動。

ポート番号の変更

sshのデフォルトポート番号は22なので、ポート番号を変更します。 ポート番号は、well-knownポート(0 - 1023)、Registeredポート(1024 - 49151)を避け、49152 - 65535で指定するとよいです。

sudo vi /etc/ssh/sshd_config

でviを起動。 Port 22の番号を任意に変更し、

sudo /etc/init.d/ssh restart

sshを再起動。

ローカルの.ssh/config設定も変更。

vi ~/.ssh/config

でviを起動。

Host conoha
    HostName [IP Address]
    User [USERNAME]
    IdentityFile ~/.ssh/conoha
    Port [PORT NUMBER]

[PORT NUMBER]には先ほど決めたポート番号と同じ数字を入れます。

ファイアウォールの設定

通常はiptablesで設定しますが、Ubuntuではufwというツールで簡単に設定を変えることができます。

ufwの状態確認。

sudo ufw status

inactiveならactiveに。

sudo ufw enable

デフォルトでホワイトリスト形式でポート制限かけます。

sudo ufw default deny

ssh接続のポート番号を変更したので、そのポートも許可する設定にします。

sudo ufw allow [PORT NUMBER]

最後に状態確認。

sudo ufw status verbose

ufwの再読込で設定完了。

sudo /etc/init.d/ufw restart

参考サイト

2019/05/03追記

Google Play and the Google Play logo are trademarks of Google LLC.