ConoHaVPSでサーバを借りてから公開鍵を使ってログインできるまで設定
次回アプリの構想もだいたい決まってきたのでサーバを立てようと思います。
前作アプリ詰将棋らっしゅもConoHaのVPSサーバを使っていて何の問題もなく動いているので今回もConoHaで行きます。
この記事から何回かに分けてVPSサーバを借りて色々Unityアプリからデータを取ってくるところまで解説します。
※Macからの操作になります。
- サーバを借りる
- サーバに削除ロックをかける
- ターミナルからログイン
- ユーザを追加
- 鍵を使ったログインができるようにする
- rootユーザでのログインを禁止
- パスワードログインを禁止
- 7.4では下記行が2つあるので片方をコメントアウト(# Pass~)しましょう
- ファイヤウォールの自動起動するようにする
- xxxxxはポート番号
- firewalldを再起動
サーバを借りる
申し込みは下記サイトから。
ログインするとコントロールパネル画面が現れるので左上の「サーバ追加」を押す。
サーバの選択画面
上から必要なものを選んでいく。
プラン
- タイプ:VPSを選択。
- リージョン:サーバの場所なので日本人中心のアプリなら東京がよい。
- メモリ:お試しなら512MB、本番稼働なら1GBにしておけばあとで2GB以上に変更できます。
イメージ
- イメージタイプ:OS
- OS:CentOS 特にこだわりがなければCentOSで。デフォルトだけあって情報量が多いです。次点でUbuntu。
- バージョン:最新で。
- rootパスワード:ログインする際のパスワード。あとで使うので控えておきましょう。
オプションは一番下のネームタグ(サーバ一覧のところに表示される名前)だけ好きな名前に変えて、 それ以外はそのままで。
ネームタグも後で変更できます。
内容と金額を確認してよければ「追加」ボタンを押すと20秒もたたずに追加されます。
サーバに削除ロックをかける
サーバ一覧に表示されたらまずは削除ロックをかけておきましょう。
conohaのコントロールパネルは削除もすぐにできちゃいます。
間違えて削除しないようにサーバのチェックボックスにチェックをいれて「削除ロック」を選択。
リストの頭に鍵マークが付いていればOKです。
ターミナルからログイン
ipアドレスはネームタグをクリックし、ネットワーク情報の中にIPアドレス(借りたサーバの住所)があるのでこれをメモ。
ssh root@ipアドレス
と打つと、「繋いだことないんだけど繋いじゃうよ?」みたいなこと聞かれるのでyesを その後パスワードを聞かれるので設定したrootパスワードを入力すると入れます。
ユーザを追加
rootユーザは管理者権限なのでなんでもできちゃうので、 新しいユーザ newuserさんを追加します。
newuserのところはご自分で決めたユーザ名に置き換えてください。
# ユーザ作成 adduser newuser # パスワード設定 passwd newuser # グループに追加 gpasswd -a newuser wheel # newuserでログインできるか確認 Switch User su newuser # [newuser@ipadress root]$のように頭がユーザ名になっていれば成功です。 # 戻るときはsuでrootパスワードを入れるとrootユーザに戻れます。
鍵を使ったログインができるようにする
今はパスワードとipアドレスさえ分かればどこからでもアクセスできる状態です。
「パスワードが漏れなきゃいいんじゃない?」と思うかもしれませんが、
ブルードフォースアタック(順番にパスワードを入力していく)もあるので危険な状態です。
なのでRSA暗号鍵を使ってセキュリティを高めましょう。
暗号鍵でのログインを許可。
sudo vi /etc/ssh/sshd_config
viはunixのエディタで使い方は下記を見てみてください。
viはCUIでよく使うので覚えておきましょう。
下記2行の設定を変更。
PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys
[注意]少し前までは RSAAuthentication yes を入れるようになっていましたが、非推奨でないようです。 CentOSの7.4以降はデフォルトでこの設定自体がなくなっています。
下記コマンドで設定を再読み込みします。
sudo systemctl restart sshd
鍵を作成
# newuserのディレクトリで行ってくださいsu newuser # フォルダを作成 バージョン7.4では元からあるので下記3行は不要 pwd # /home/newuser/が表示されることを確認 mkdir .ssh chmod 700 .ssh # 鍵を作成 cd .ssh ssh-keygen -t rsa -b 4096 # 鍵の名前はお好みで # パスワードも設定しておく #公開鍵(xxxx.pub)をsushi_configで設定してあった名前に変更する mv xxxx.pub authorized_keys #644でもOK 他のユーザの書き込み権限がなければよい chmod 600 authorized_keys
自分のPCに秘密鍵をコピーする
cat xxxx(さっきの鍵の名前)
で鍵の中身を表示し全てコピーします。
ここからはもう一枚ターミナルを開き、PC側に秘密鍵の設定をしていきます。
cd ~/.ssh vi xxxx # catした内容をコピペする chmod 600 xxxx
sshの設定ファイルの中に接続情報を書き込みます
# xxxx Host xxxx HostName xxx.yyy.zzz.aaa(ipアドレス) User newuser Port 22 IdentityFile ~/.ssh/xxxx ```` ### 接続できるか確認 ターミナルからsshでログインできるか確認
ssh xxxx
### rootログインを禁止に いよいよrootでのログインを禁止にします。
rootユーザでのログインを禁止
PermitRootLogin no
パスワードログインを禁止
7.4では下記行が2つあるので片方をコメントアウト(# Pass~)しましょう
PasswordAuthentication no
再起動し設定を読み込む。
systemctl restart sshd
## ポート番号を変える
ファイヤウォールの自動起動するようにする
systemctl enable firewalld
xxxxxはポート番号
firewall-cmd --add-port=xxxxx/tcp --zone=public --permanent
firewalldを再起動
systemctl restart firealld
port xxxxx
systemctl restart sushi
自分のPC側の~/.ssh/ssh_configのポート番号も変えてsshログインできればOKです。 今日はここまです。 ## まとめ 長くなりましたが家でいうと <b>「家を借りて鍵を作って自分だけ入れるようになった。」</b>状態です。 ConoHaVPSは初期費用がかからず、日割り計算なのでちょっと触って見たい人にもオススメです。 サーバ構築は慣れが大切なので作って削除してがコントロールパネルですぐできるのもポイント。 私は上記の手順を5回はやっていますし、この記事通りいくか試すために2回通しでやっています。 Linuxはコマンドラインしか見えず、覚えるには手を動かすしかないのでトライアンドエラーでやっていくのがいいと思います。 [https://www.conoha.jp/referral/?token=4CsQUCEKVCch0IgKmdE4KenQTWug.dK2sjLeXR_4cMe.pFI_Eks-KJV:embed:cite] 上記のリンクから申し込みすれば1000円分のクーポンがついているので一番下のプランなら一ヶ月はタダで遊べます。 次回はnginxを入れてwebブラウザから見れるようにしたいと思います。 色々つまづくことがあればコメントで教えてください。 なるべくお答えするか新しく記事にしようと思います。 ではでは!