0.でぷろいまで
ついに個人アプリが形になった。つぎはデプロイまですることにした。HerokuやAWSを使う方法があるが、前者は速度が遅いし、後者は金額が高すぎる。AWSには無料枠があって、サービスの種類によってはアカウント取得から1年間無料で利用できるものもあった。しかし、私はすでにアカウントを開設してからしばらくの年月が経っていたのでできない。
ちょっとかんがえてさくらvpsを使うことにした。月額1000円程度で使えるみたいだし、独自ドメインの設定やhttpsの設定もできるらしい。やっていこう。
アカウントを取得した。
1.サーバーの設定
もろもろのやりかたは公式に書いてある。
1-1.やっていこう
rootログイン
さくらvpsサーバーを起動したら、ターミナルに打っていく。
$ ssh root@xxx.xxx.xxx.xxx
xxx.xxx.xxx.xxxにはサーバーのIPアドレスが入る。
[root@xxx ~]#
うまくいくとこうなる。今後はサーバーに入ってからのコマンドは#ではじめる。
OSアップデート
# yum update
最新のものになる。
1-2.安全な接続
一般ユーザーを作る
rootユーザーだけだと、乗っ取られた時にやばい。もうひとつ一般のユーザーをつくり、そいつだけログインできるようにする。rootはログインできないように。
そうすると、一般ユーザーでログインし、ログイン後にrootに切り替えることになる。やっていこう。
一般ユーザーを作るには以下を打つ。パスワードも設定する。
# adduser vpsuser
# passwd vpsuser
設定したら、一旦exit
でサーバーから抜ける。
# exit
今度はつくったユーザーでログインしてみる。
$ ssh vpsuser@xxx.xxx.xxx.xxx
できたらOK。
# su -
これでrootユーザーに切り替えることができる。
rootユーザーによるログインを禁止する
サーバーの中にある設定ファイルを書き換える。rootユーザーで作業する。
# vim /etc/ssh/sshd_config
vimが立ち上がってファイルを編集できるようになる。iと打ってインサートモードにしよう。
- #PermitRootLogin yes
+ PermitRootLogin no
#をはずしてコメントアウトをなくす。
おわったらescキーでノーマルモードの戻してから':wq'を打つ。
保存されてもとの画面に戻る。
次のコマンドで再起動。設定を有効にする。
# systemctl restart sshd.service
1-3.もう少し安全にする:鍵認証
説明
鍵認証の説明は以下のやつがわかりやすい。
鍵の生成
まずはローカル環境に鍵をつくっていく。
ターミナルを開いて.sshフォルダがないか確認する。なければ作ろう。
アクセス制限もつける。
$ cd
$ ls -a
$ mkdir .ssh
$ chmod 700 .ssh
.sshフォルダのなかでパスワードをつくろう。
$ cd .ssh
$ ssh-keygen
ssh-keygen はいろいろオプションがあるが特に指定しなくても作れる。
これによってid_rsa.pub
とid_rsa
が作られる。
id_rsa.pub
が公開鍵なので、こちらをサーバーにアップして覚えさせる。
いろいろやり方はあるが、内容をコピーしてvimでファイルを編集する時にペーストするやつがしっくりきた。それをやる。
$ cat id_rsa.pub
これで表示される文面をコピーしておく。
サーバーへ公開鍵をアップロード
一般ユーザーでサーバーへログインして作業する。ホームディレクトに.sshフォルダがなければつくる。
# mkdir .ssh
# chmod 700 .ssh
# cd .ssh
.sshフォルダの中にauthorized_keys
というファイルをつくる。
# vim authorized_keys
vimが立ち上がるので、そこに先ほどコピーしておいた公開鍵をペーストする。
終わったら :wq
。
書き込み権限を変えておく。
# chmod 600 authorized_keys
あとは一旦ログアウトして、鍵認証で入れるかテストする。
$ ssh -i .ssh/id_rsa vpsuser@xxx.xxx.xxx.xxx
できたらOK
2. おわり
まだつづくけど、きょうはここまで。