はじめに
この記事は個人的にWebArena lndigoのVPSを使用して、
初期に設定する項目をまとめた忘備録
WebArena インスタンスの作成
WebArena lndigo ログイン後トップページから、画面右上にある +インスタンスの作成 ボタンからインスタンスを作成する
インスタンス内容
項目 | 内容 |
---|---|
イメージ | Ubuntu 20.04 |
サイズ | 1vCPU 1GB RAM 20GB SSD 100Mbps |
SSH | キーを作成して選択 |
リージョン | Tokyo |
インスタンス名 | 適当な名前を付ける |
作成すると OSインストールを実行中です と文字が出てくるのでしばらく待つ
ステータスがStoppedになったら、クリック
まずタブの 設定 をクリックして、キーボード配列をjaに変更してコンソール設定をクリック
それからインスタンスを起動させる
これでVPSが動いてる状態となる
ターミナルからVPSにSSHでログインをする
初期はポート22でユーザー名は ubuntu でログインできる
ssh -p 22 ubuntu@IP -i 保存したSSHのパス
下記は例
ssh -p 22 ubuntu@160.248.1.241 -i G:\マイドライブ\SSH_KEY\sshkey.txt
お決まりのコマンドを最初に行う
sudo su -
sudo apt update
sudo apt upgrade -y
-y オプションは自動で実行される
ユーザー作成
ubuntu ユーザーでログインしたが、初期のままだとセキュリティ的に問題あるのでユーザーを作成する
今回作成するユーザーは vpsuser
sudo adduser vpsuser
コマンドを実行して処理を進めたのが次の画像
パスワードを確認用と2回入力する
その後質問される
質問内容はこちら
フルネーム
部屋番号
職場の電話番号
自宅の電話番号
その他の情報を入力するオプション
最後に入力された情報が正しいかどうかを確認されてる
全部Enterで飛ばしてしまって良い
なので最後は y を入力
作成したユーザーをsudoグループに追加
追加したユーザーをsudoグループに追加する
それにより今回vpsuserを作成したが、sudo コマンドを使えるようにする
sudo gpasswd -a vpsuser sudo
ユーザーでログインできるようにする
本来sshキーは作り直すべきかもしれないが、面倒なのでubuntuユーザーで使用していたsshキーを使う
cd /home/ubuntu
sudo cp -r .ssh/ /home/vpsuser/
sudo chown -R vpsuser:vpsuser /home/vpsuser/.ssh/
sudo hostnamectl set-hostname vpsuser
nano /etc/hosts
ホスト名の変更を反映させるためエントリーを追加
127.0.1.1 vpsuser
Ctrl + o の後にエンターでファイル上書き
その後 Ctrl + x でファイルを閉じる
sudo コマンドの定義
sudoersファイルの編集
sudo visudo
ファイル内に下記を追加する
vpsuser ALL=(ALL:ALL) ALL
vpsuser ALL=(ALL:ALL) NOPASSWD: ALL
どのユーザーとしても、どのホストからでも、すべてのコマンドを実行することができるようにする
また、パスワードの入力を必要なくsudo コマンドを実行することができるようにしてる
Portを変更と外部からのrootログイン禁止
shd_configファイルの編集
sudo nano /etc/ssh/sshd_config
Port 1029
PermitRootLogin no
ポートの数値の設定は
項目 | 内容 |
---|---|
ウェルノウンポート | 0~1023 |
登録済みポート | 1024~49151 |
ダイナミックポート | 49152~65535 |
このようになっている
1024~49151 を使用しておけばよい(よくわからない)
0~1023 は例えばHTTPの80、HTTPSの443などで使用される
なので基本使っちゃダメ
変更後のログイン確認
再起動して変更が適応されてるか確認
sudo reboot
変更後のログイン
ssh -p 1029 vpsuser@160.248.1.241 -i G:\マイドライブ\SSH_KEY\sshkey.txt
Ubuntu ユーザーの削除
これで ubuntu ユーザーは必要なくなったので削除する
sudo su -
sudo userdel -r ubuntu
システムのタイムゾーンの設定
現在のタイムゾーンがどうなってるかは下記コマンドで確認できる
timedatectl status
タイムゾーンの設定を東京にする
sudo timedatectl set-timezone Asia/Tokyo
日本語言語パックと日本語入力システムをインストール
sudo apt install language-pack-ja-base language-pack-ja ibus-mozc -y
language-pack-ja-base は 日本語の基本的な言語パック
language-pack-ja は 完全な日本語言語パック
ibus-mozc は Googleが開発した日本語入力メソッド
システムのロケールを日本語に設定
ja_JP.UTF-8に設定する
sudo localectl set-locale LANG=ja_JP.UTF-8
ファイアウォールの設定
ファイアウォールをUFWで管理する
sudo ufw status
sudo ufw allow 22
sudo ufw allow 443
sudo ufw allow 1029
sudo ufw allow 3306
sudo ufw allow 5000
22:念のため
443:HTTPS用
1029:ログインPort用
3306:Mysql用
5000:今後使用するとされるアプリケーション用
sudo ufw enable
ここは注意しなければならない
もしアクセスが許可されていない場合は接続が切断されたり
新たに接続することができなくなる
今の接続してるPortが有効にしてることを確認してから有効にすること
有効にしてよいか聞かれるので y で実行
完了
基本的な設定はこれで終了
プログラムを動かすための設定などは別の記事に残す
さいごに
もし間違ってるなど修正が必要と思われる場所があれば教えて貰えるとうれしい
簡易的な用語説明
- インスタンス : 設計図をもとにして実際に作った物
- ポート(Port) : ネットワークとパソコンの間にあるドアのこと
- sudo : スーパーユーザーdo
- ファイアウォール : コンピュータシステムやネットワークを保護するためのセキュリティデバイスまたはソフトウェア
- ロケール : コンピュータプログラムが実行される環境の言語、国、および文化的な設定
コメント