どうも、シローです。
最近、シェルスクリプトやサーバをいじってみたいなーと思ったので、
この本を買ってみました。
結構長い本なんですけど、とりあえず書かれているとおりにやってみて
たまーにこんな感じで進捗日記を書いてみようと思います。
それでは第1回目です。
さくらVPSのレンタルサーバを借りてSSHで接続するまで。
インターネット上に何かしらのサービスを提供したい場合は、インターネット上にお店を出さないと行けないです。
そのお店がサーバです。
サーバを立てるときには、物理的にサーバを組み立てる方法があるのですけど、
サーバって安くても5,6万する上に、サービスを提供している間は電源を落とすことができないから電気料金が結構かかったりします。
(僕の家にもデスクトップのパソコンがあって、めんどくさいから電源をつけっぱにしていると意外とお金がかかってますw)
他にも色々めんどくさいところがあるのが物理サーバを持つデメリットです。
けれど、レンタルサーバを借りれば、これらの問題は解決します。
まず、サーバ購入費がかかりません、これは大きいです。
次に、電気料金もかかりません、これも大きいです。
要は物理的なサーバを持つことによるデメリットがすべて解決されます。
かかるのは月々のサーバの使用量くらい(それも、だいたい月1000円と実際に買うのに比べたらコスパが良い)
てなわけで、さくらVPSでレンタルサーバを借りてみましょう。
さくらVPSでサーバをレンタル
さくらVPS(https://vps.sakura.ad.jp)にアクセスして、会員登録して、サーバをレンタルしてみましょう。
プランはメモリ1Gの月800円のがおすすめですよ。
さくらVPSのコンソール画面でサーバ一覧でレンタルしたサーバを確認
レンタルしたサーバが↓のように表示されていると思います。(個人的な情報は消してます)
では次にOSをインストールしましょう。
サーバにOSをインストールする
サーバ一覧からサーバをクリックすると↓のようにサーバ設定画面に行きます。
赤色で囲った所に「OSインストール」とありますので、これをクリックしましょう。
OSのインストール画面で各種設定
OSのインストール画面でインストール方式で「カスタムOS」を選択します。
インストールするOSでは今回は「Ubuntu 18.04 amd64」を選択します。
インストールを実行すると、専用の画面が立ち上がります。
そこでは、ユーザ名とパスワードを入力します。
クライアントPCでSSHの設定をする
後ほどSSHで接続するためにユーザ名とパスワードを設定すると。いよいよ、SSHで接続できるようになります。
SSHで必要な情報として
- SSHユーザ名
- サーバのIPアドレス
- ユーザの認証情報(パスワードや秘密鍵)
があります。
先ほど、ユーザ名と認証情報(パスワード)は入力したのでそれを使います。
IPアドレスはサーバ設定画面の上部にある「xxx.xxx.xxx.xxx」にあたる文字列です。(今回は000.111.222.333とします。適宜それぞれの値で読み替えてください)
SSHで入るためのコマンドは↓のようになります。
1 |
shiro@mac ~ $ ssh shiro@000.111.222.333 |
パスワードを入力するとサーバにログインできるようになります。
SSHキーでログインできるようにする
秘密鍵、公開鍵を作る
まずは、クライアントPCで公開鍵と秘密鍵を作成します。
ターミナルで↓のコマンドを打つと秘密鍵が作られます。
1 2 3 4 5 6 7 |
shiro@mac ~ $ ssh-keygen -t rsa 以下省略 shiro@mac ~ $ ls -l ~/.ssh -rw-r--r-- 1 shiro staff 238 1 9 08:28 config -rw------- 1 shiro staff 1831 7 6 2019 id_rsa -rw-r--r-- 1 shiro staff 408 7 6 2019 id_rsa.pub -rw-r--r-- 1 shiro staff 2415 10 15 21:50 known_hosts |
公開鍵がid_rsa.pub、秘密鍵がid_rsaとして保存されていると思います。
SCPコマンドで公開鍵をサーバに渡す。
次はscpコマンドで公開鍵をサーバに送信します。(秘密鍵は渡してはいけません)
1 2 3 4 5 |
shiro@mac ~ $ scp ~/.ssh/id_rsa.pub shiro@000.111.222.333:~/ shiro@mac ~ $ ssh shiro@000.111.222.333 サーバにアクセス shiro@shiro-mmm:~$ ls -l rw-r--r-- 1 shiro shiro 408 1月 9 08:24 id_rsa.pub |
実行し終わった後サーバにSSHで接続するとホームディレクトリに公開鍵があると思います。
公開鍵をauthorized_keysに登録する
サーバにSSHで接続して、ホームディレクトリの.sshというディレクトリの配下にauthorized_keysというファイルがあると思います。(なかったら作成すればいいです)
このファイルに公開鍵の情報を登録します。
1 |
shiro@shiro-mmm:~$ cat id_rsa.pub >> ~/.ssh/authorized_keys |
秘密鍵でSSH接続する
クライアントPCに戻って、SSH接続を秘密鍵で行います。
.ssh/config を編集して秘密鍵の紐付けをすると、ホスト名(今回だとshiro-sakura)でSSH接続ができるようになります。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
shiro@mac ~ $ vim ~/.ssh/config Host shiro-sakura HostName 000.111.222.333 User shiro IdentityFile ~/.ssh/id_rsa Port 22 shiro@mac ~ $ ssh shiro-sakura Welcome to Ubuntu 18.04.3 LTS (GNU/Linux 4.15.0-58-generic x86_64) * Documentation: https://help.ubuntu.com * Management: https://landscape.canonical.com * Support: https://ubuntu.com/advantage * Overheard at KubeCon: "microk8s.status just blew my mind". https://microk8s.io/docs/commands#microk8s.status * Canonical Livepatch is available for installation. - Reduce system reboots and improve kernel security. Activate at: https://ubuntu.com/livepatch Last login: Thu Jan 9 09:19:14 2020 from 126.140.212.138 shiro@shiro-mmm:~$ |
接続できたら、仕上げにパスワードログインをOFFにします。
パスワードログインをOFFにする
今の段階では他のユーザがSSH接続をして、パスワードが一致して入れてしまったらサーバを好き勝手にされてしまうので、
それをOFFに変更します。
設定方法はsshdの設定ファイルを変更して、sshdを再起動すると大丈夫です。
1 2 3 4 5 6 |
shiro@shiro-mmm:~$ cd /etc/ssh shiro@shiro-mmm:/etc/ssh$ sudo vim sshd_config ..... PasswordAuthentication no <- yes から no にする ..... shiro@shiro-mmm:/etc/ssh$ sudo service ssh restart <- sshdを再起動 |
これで、sshまわりの設定は完了です。