それほど難しくないような気もしつつ、雰囲気で作ったらやはりところどころ突っかかったので、備忘録がてらざっくり設定手順を書いておこうと思います。
サーバーには、WebARENA Indigo という VPS を使用しました。OS は Ubuntu 22.04、クライアントは Windows 10 です。
同じような感じで突っかかっている方の参考になれば幸いです。
▼ WebARENA Indigo の設定
① 「SSH 鍵の作成」→「インスタンスの作成・起動」→「秘密鍵を使って SSH でログイン」
WebARENA Indigo のダッシュボードで SSH 鍵を作成・保存。インスタンスの作成・起動。秘密鍵をクライアントの「.ssh」に設置。
PowerShell にて SSH ログイン。初期ユーザー名は「ubuntu」。
> ssh ubuntu@インスタンスのIPアドレス -i ~/.ssh/private_key.txt
② タイムゾーンの変更と日本語化
タイムゾーンを Asia/Tokyo に変更。
$ sudo timedatectl set-timezone Asia/Tokyo
日本語パッケージをインストールして設定。
$ sudo apt install language-pack-ja-base language-pack-ja ibus-mozc $ sudo localectl set-locale LANG=ja_JP.UTF-8
③ WebARENA Indigo でファイアーウォールを設定をする
WebARENA Indigo のダッシュボードからファイアーウォールを作成(「ネットワーク管理」内)。
SSH 及び Web アプリで使うポートを開けます(HTTP「80」、HTTPS「443」)。SSH はセキュリティ向上のため22番ポートから変更したいため、22番ポートと任意のポートを開けておきます。後ほど22番は閉じます。IP アドレスは「0.0.0.0」。
インスタンスに適用。
④ SSH のポートを変更
sshd_config のポートを変更して再起動。
$ sudo nano /etc/ssh/sshd_config #Port 22 Port 2222 (任意のポート番号) $ sudo systemctl restart sshd
PowerShell の別ウィンドウを開き、変更後のポートからアクセス。
> ssh -p 2222 ubuntu@IPアドレス -i ~/.ssh/private_key.txt
無事にログインできたら WebARENA Indigo のファイアーウォール設定で22番ポートを閉じます。
⑤ ufw でファイアーウォールを設定する
ufw をインストール。
$ sudo apt install ufw
incoming ポリシーを deny (破棄) に設定。
$ sudo ufw default deny
IPv6 を無効化。
$ sudo nano /etc/default/ufw IPV6=no
必要なポートを開放。
$ sudo ufw allow 2222 $ sudo ufw allow 80 $ sudo ufw allow 443
ufw を有効化。
$ sudo ufw enable
⑥ 「ユーザーを作成」→「SSH ユーザー化」→「初期ユーザーの削除」
初期ユーザーのままだとセキュリティ上よろしくないので、新たにユーザーを作成します。パスワードを2回入力(その他は空欄でも問題なし)。sudo 権限を付与。
$ sudo adduser 新ユーザー名 $ sudo gpasswd -a 新ユーザー名 sudo
ubuntu (ユーザー名) の SSH 公開鍵を新しいユーザーにコピー。所有者を変更。
$ sudo cp -r .ssh/ /home/新ユーザー名/ $ sudo chown -R 新ユーザー名:新ユーザー名 /home/新ユーザー名/.ssh/
新ユーザーで SSH ログインが可能になります。
> ssh -p 2222 新ユーザー名@IPアドレス -i ~/.ssh/private_key.txt
scp はこうなります。(後編で使います)
> scp -P 2222 -i ~/.ssh/private_key.txt ./Desktop/test.txt 新ユーザー名@IPアドレス:/home/新ユーザー名/ (インスタンスへファイルをコピー) > scp -P 2222 -i ~/.ssh/private_key.txt 新ユーザー名@IPアドレス:/home/新ユーザー名/test.txt ./Desktop/ (クライアントへファイルをコピー)
初期ユーザーの削除。他のプロセスで使用中とのメッセージが出た場合は sudo kill してから再度削除。
$ sudo userdel -r ubuntu
・
・
・
ということで、WebARENA Indigo の設定でした。
次の後編では、突っかかった Flask + uWSGI + Nginx の部分を作っていきます。
・関連投稿
Twitter (@nkkmd) 日々更新中です。