観る将エンジニアブログ

見る将歴8年のエンジニアの技術系ブログ。

ConoHaVPSでサーバを借りてから公開鍵を使ってログインできるまで設定

次回アプリの構想もだいたい決まってきたのでサーバを立てようと思います。

前作アプリ詰将棋らっしゅもConoHaのVPSサーバを使っていて何の問題もなく動いているので今回もConoHaで行きます。

この記事から何回かに分けてVPSサーバを借りて色々Unityアプリからデータを取ってくるところまで解説します。

Macからの操作になります。

サーバを借りる

申し込みは下記サイトから。

www.conoha.jp

ログインするとコントロールパネル画面が現れるので左上の「サーバ追加」を押す。

f:id:tukushiari:20180130175542p:plain

サーバの選択画面

上から必要なものを選んでいく。

プラン

  • タイプ:VPSを選択。
  • リージョン:サーバの場所なので日本人中心のアプリなら東京がよい。
  • メモリ:お試しなら512MB、本番稼働なら1GBにしておけばあとで2GB以上に変更できます。

f:id:tukushiari:20180130175555p:plain

イメージ

  • イメージタイプ:OS
  • OS:CentOS 特にこだわりがなければCentOSで。デフォルトだけあって情報量が多いです。次点でUbuntu
  • バージョン:最新で。
  • rootパスワード:ログインする際のパスワード。あとで使うので控えておきましょう。

f:id:tukushiari:20180130175557p:plain

オプションは一番下のネームタグ(サーバ一覧のところに表示される名前)だけ好きな名前に変えて、 それ以外はそのままで。

ネームタグも後で変更できます。

f:id:tukushiari:20180130175652p:plain

内容と金額を確認してよければ「追加」ボタンを押すと20秒もたたずに追加されます。

サーバに削除ロックをかける

サーバ一覧に表示されたらまずは削除ロックをかけておきましょう。

conohaのコントロールパネルは削除もすぐにできちゃいます。

間違えて削除しないようにサーバのチェックボックスにチェックをいれて「削除ロック」を選択。

リストの頭に鍵マークが付いていればOKです。

f:id:tukushiari:20180130194343p:plain

f:id:tukushiari:20180130194346p:plain

f:id:tukushiari:20180130194347p:plain

ターミナルからログイン

ipアドレスはネームタグをクリックし、ネットワーク情報の中にIPアドレス(借りたサーバの住所)があるのでこれをメモ。

f:id:tukushiari:20180130200935p:plain

ssh root@ipアドレス

と打つと、「繋いだことないんだけど繋いじゃうよ?」みたいなこと聞かれるのでyesを その後パスワードを聞かれるので設定したrootパスワードを入力すると入れます。

f:id:tukushiari:20180130201433p:plain

ユーザを追加

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でよく使うので覚えておきましょう。

viエディタの使い方

下記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でのログインを禁止にします。

sudo vi /etc/ssh/sshd_config




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




vi /etc/ssh/sshd_config




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ブラウザから見れるようにしたいと思います。

色々つまづくことがあればコメントで教えてください。

なるべくお答えするか新しく記事にしようと思います。

ではでは!