はじめに
今までお名前VPSにSoftetherを入れてVPNサーバとして使ってたんですが、「オーバースペックなんじゃね?」「もっと安いやつでいいんじゃね?」などという疑問が湧いたのでConoHaに変えてみました。
移行先として一応他のサービスも考えたのですが、クラウドでいうとAmazonのEC2は転送量課金があってRadiko垂れ流しできず、Azureは高いし…みたいな感じで、ConoHaに行き着きました。というのは後付けで、このはちゃんが可愛かったのが一番の理由でした。
これはその時やったことのまとめです。
会員登録
会員登録しようとするとよし来たなまずは金を払え支払い方法を決めろと言われたので観念して5000円のConoHaカード買いました。学割で10%OFFだったのと楽天ポイントを使えたのとで支払い金額は1000円くらいでした。
9月26日の朝9時くらいに買って、9月28日の15時くらいに入金確認メール・16時くらいに発送メールが来て、郵便ポストに9月30日に届きました。当日発送とは
楽天ペイがいけなかったんだろうか。
このはちゃん! @MikumoConoHa pic.twitter.com/T0sNB8jcQV
— 🚇アンセケターメン🚇 (@anseketamen) 2017年9月30日
このはちゃんかわいい。
カードが届いたので支払い方法を決めるとVPSを作れるようになります。
サーバの作成
セキュリティ上、一応ここから記事の最後までは一気にやってしまうといいです。
とりあえず最低限な感じで作りました。
続いて 3.オプション。
接続許可ポートなんてのを設定できるのかーと一人感心していましたがとりあえずスルーで。
画像ではSSH Keyを作ってる感じですが、実際は「使用しない」でやっています。作ると逆に色々めんどくさかったので…。
ここで、今が9月30日であることに気づき、明日まで待てばちょっと安くなるのでは?と思いましたが1円/1hなのでそのまま作りました。
構築中。
構築するとvps-xxxxxxがリンクに変わります。
リンク先にIPアドレスが記載されていたので、これをメモしておきます。
CentOS 7の最低要件はRAM1GB(インストーラがメモリ400MB食うぜーみたいな話がどっかのフォーラムでされていた)な感じでしたが、なんとかなったようです。
サーバ側の設定
SSHログイン
ターミナルでそのままsshが使えるMacやLinuxを使ったほうが多少楽ではありますが、Windowsで操作したいのでここではRLoginというフリーソフトを使用します。
レジストリは触れられたくない(宗教上の理由)ので、RLogin.exeと同じフォルダにRLogin.iniという名前の空ファイルを作っておきます。RLogin製作者いわく「レジストリベースよりリスクが高い」そうなので自己責任で。
RLogin.exeを起動します。
「Server Select」というウィンドウが出るので「新規」を押します。
それっぽく設定します。ユーザ名はroot、パスワードはサーバ構築時に設定したrootのパスワードです。
設定し終わったらServer Selectから接続先を選んで「OK」を押します。
「公開鍵の確認」画面が出てくると思いますが、信頼しなければ何も始まらないので「接続する」を押します。
イェ~~イ繋がったぜ~~~~~!!!!
ユーザの追加
まず普段使い用のユーザ aburana
を作ります。アブラナちゃんの部分は適宜読み替えましょう。
useradd aburana
作ったユーザを確認してみます。
cat /etc/passwd
一番下あたりにaburana:x:1000:1000::/home/aburana:/bin/bash
みたいなのがあればOK。
aburanaのパスワードを作成します。
passwd aburana
出力は以下のようなかんじ。
Changing password for user aburana. New password: Retype new password: passwd: all authentication tokens updated successfully.
できた。
SSHの公開鍵認証の設定
最近はパスワード認証でなく公開鍵認証するのがトレンドらしいのでやってみますすごくめんどくさかった。
まず、/etc/ssh/sshd_config
を編集して公開鍵認証を有効化します。
vi /etc/ssh/sshd_config
viの使い方うろ覚えだけどa
押したら編集できた気がする。編集内容は#消してコメントアウト解除するだけです。
#RSAAuthentication yes #PubkeyAuthentication yes
↓これをこうする。
RSAAuthentication yes PubkeyAuthentication yes
あと、AuthorizedKeysFile .ssh/authorized_keys
もコメントアウトされていたら解除。
編集したらEscキー押して:wq
打ち込んでEnter押せば保存して終了となるはず。
ここらで一旦SSHサービスを再起動しておきます。
service sshd restart
さて次はとりあえずアブラナちゃんになります。
su aburana
続いて鍵の作成。つよそうな4096にしました。
ssh-keygen -t rsa -b 4096
余談ですがRSA114514を作ろうとして-b 114514
と打ったらBits has bad value 114514 (too large)
と言われました。残念。
出力は以下のような感じです。
Generating public/private rsa key pair. Enter file in which to save the key (/home/aburana/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub.
特に場所変えなくてもいいだろってことでそのままEnter。
パスフレーズはちゃんとパスワードっぽいやつをつけなきゃいけないらしいですが、そういくつもパスワードなんて覚えていられないので空のままEnter。
終わったら鍵をxxxに保存したよーと出てきます。.pubがついているほうが公開鍵、ついていないほうが秘密鍵です。
cd /home/aburana/.ssh
公開鍵の中身をauthorized_keysに書き込みます。
cat id_rsa.pub > authorized_keys
秘密鍵の中身を表示します。
cat id_rsa
下のような感じに表示されたら、BEGINからENDまで全部コピーして、RLogin.exeと同じフォルダにテキストファイルとして保存しておきます。ファイル名はsshkey.pemとでも。
-----BEGIN RSA PRIVATE KEY----- 44Ki44OW44Op44OKDQrjgIzjgYTjgIHjgYTjgYTjgYvjgonjgIHlm6Pplbfjga/j gZjjgaPjgajjgZfjgabjgabvvIENCuKAlOKAlOKAlOKAlOOCk+OCk+OCoeOCouOC ouOCouOBo++8geOAjQ== -----END RSA PRIVATE KEY-----
終わったらRLoginの「ファイル」→「接続を閉じる」で一旦終了し、「ファイル」→「サーバーに接続」で最初に作った構成を編集します。
ユーザとパスワードをアブラナちゃんに変更し、SSH Identity Keyに先ほど保存したsshkey.pemを指定します。
それで保存してサーバに接続できたら成功。
SSHのその他の設定
アブラナちゃんでサーバに入ったらまずrootになります。
su -
公開鍵認証でログインできることが確認できたので、パスワード認証を無効化したりいろいろしておきます。
もう一度viで/etc/ssh/sshd_config
を開いて
vi /etc/ssh/sshd_config
以下のものをyes→noに書き換えます。rootでログインできないように、パスワードでログインできないようにします。
PermitRootLogin no PasswordAuthentication no
続けて、以下のコメントアウトを解除して設定値を書き換えます。ポート番号は適当に。5000くらいまではSoftetherで使うやつがあった気がしたので避けた。7273=ナズナさん。
Port 7273 Protocol 2
編集したらEscキー押して:wq
打ち込んでEnter。
一応再起動。
service sshd restart
次にファイアウォール(firewalld)の設定を変更してポートを開けます。
/usr/lib/firewalld
以下のものは変更してはいけないので/etc
にコピーします。
cp /usr/lib/firewalld/services/ssh.xml /etc/firewalld/services/ssh.xml
viで編集します。
vi /etc/firewalld/services/ssh.xml
<?xml version="1.0" encoding="utf-8"?> <service> <short>SSH</short> <description>Secure Shell (SSH) is a protocol for logging into and executing commands on remote machines. It provides secure encrypted communications. If you plan on accessing your machine remotely via SSH over a firewalled interface, enable this option. You need the openssh-server package installed for this option to be useful.</description> <port protocol="tcp" port="7273"/> </service>
編集したらEscキー押して:wq
打ち込んでEnter。
firewalldを再読込します。
firewall-cmd --reload
success
と出てきたら成功。
終わったらRLoginの「ファイル」→「接続を閉じる」で一旦終了し、「ファイル」→「サーバーに接続」で最初に作った構成を編集します。
Socket Portを7273にします。
保存してサーバに接続できたらOK。
ソフトウェアアップデート
すっかり忘れていたソフトウェアのアップデートをしておきます。
yum -y update
-y
をつけるとIs this ok?
などといちいち確認されなくなるみたいです。
今日はここまで。
続きはこっち。