サーバー構築をしたいと思っていて、「ConoHa」か「さくら」のどっちか迷ったのですが、「ConoHa」に決めました。
「ConoHa」がリニューアルしたみたいので、どんな感じか試してみたかったので「ConoHa」にしました。
ConoHa申し込み手順
ConoHa をクリック
ConoHaのページが表示されます。
お申込みをクリック
情報入力のページが表示されます。
項目を入力して、[次へ]をクリック
電話/SMS認証とお支払い方法画面が表示されます。
電話/SMS認証をします。
電話番号を入力し、[SNS認証]か[電話認証]のどちらかをクリック
認証コードの入力し、[送信]をクリック。
認証が完了。
お支払い方法を入力し、[次へ]をクリック。
VPS申し込みの画面が表示されます。
プランを選択し、[追加]をクリック。
追加してしばらくすると新しいサーバーが起動します。
サーバーリストの画面が表示されます。
以上でConoHaの登録は完了です。
サーバーが起動したら設定内容を確認
[ネームタグ]をクリック
ネットワーク情報の画面が表示されます。
ネットワーク情報に表示されるIPアドレスをメモしておきましょう。
ConoHaに接続
ターミナルの起動。
1 |
$ ssh root@IPアドレス |
Password: と表示されたら サーバー追加時に設定した root パスワードを入力する。
Are you sure you want to continue connecting (yes/no)? が表示されたら「yes」と入力
1 |
[root@IPアドレス ~]# |
上記のようになったら接続完了です。
CentOSのバージョンを確認するコマンド
1 |
# cat /etc/redhat-release |
CentOS Linux release 7.2.1511 (Core)
上記のように、バージョンが表示されます。
一般ユーザーを作成
あなたが普段 ConoHa を操作するためのユーザーを新規作成します。
1 2 |
// ユーザーを追加 # useradd 好きなユーザー名を指定 |
1 2 |
// パスワードを設定 # passwd ユーザー名 |
新しいパスワード:「ここにパスワードを入力」
新しいパスワードを再入力してください:「ここにパスワードを入力」
passwd: すべての認証トークンが正しく更新できました。
上記が表示されたらパスワードの設定が完了しました。
[作成したユーザーは下記のディレクトリに作成されるので確認]
1 |
# cd /home/ユーザー名 |
[一般ユーザーを作成する理由]
最初にログインした root ユーザーは最強の権限を持っており、ファイルの編集や削除など全ての操作を行うことが可能です。
その為、権限の少ないユーザを作成する。
sudo コマンドを実行できるようにする
先程作成した一般ユーザーは少ない権限しか持っていません。
普段はそれで良いのですが、システムファイルを編集したい場合などは、一時的に権限が必要になることが有ります。
必要な時だけ root 権限を利用できる wheel グループにユーザーを追加し、sudo コマンドを実行できるようにします。
[グループの確認]
gpasswdはグループ情報が記載されているファイル(/etc/group)ファイルを管理するコマンドです。グループの管理者・ユーザー・パスワードを設定することができます。
1 |
# cd /etc/ |
1 |
# cat group |
[グループの中身を確認]
1 |
wheel:x:10: |
まだ「wheel」のグループには登録されていません。
[グループに追加]
1 2 |
// ユーザーを wheel グループに追加する # gpasswd -a ユーザー名 wheel |
ユーザ 「ユーザー名」 をグループ wheel に追加
上記のように表示されたらグループに追加される
[グループの中身を確認]
1 |
wheel:x:10:ユーザー名 |
「wheel」のグループに登録されているはずです。
1 2 3 4 5 6 |
// wheel グループに属するユーザーが sudo コマンドを利用できるようにする # visudo // vi が起動するので、以下の行を探して編集する ## Allows people in group wheel to run all commands # %wheel ALL=(ALL) NOPASSWD: ALL // この行の先頭にある # を消す |
※visudo で 「# %wheel ALL=(ALL) NOPASSWD: ALL」 のコメントを解除すれば sudo コマンドの実行時にパスワード入力が不要となります。
su コマンドを制限する
su コマンドを利用するとユーザーを切り替えることが出来ます。
しかし自分以外のユーザーが su コマンドで root ユーザーに切り替えられてしまうのは困ります。
リスクを下げるために wheel グループのユーザー以外から root ユーザーへ切り替えできないように修正します。
1 2 3 4 |
// wheel グループ以外から su コマンドを実行できなくする # vim /etc/pam.d/su #auth required pam_wheel.so use_uid // この行の先頭にある # を消す |
今までの設定を確認する
ここまできたら一通り設定を確認してみましょう。
これらの設定が確認できたら、ひとまずの初期設定は完了です。
[rootでssh接続]
1 |
[root@IPアドレス~]# |
[root から作成したユーザーに切り替える]
1 |
# su ユーザー名 |
[下記のように変更される]
1 |
[ユーザー名@IPアドレス root]$ |
[sudo が使えることを確認する(以下の例では”hello”と表示される)]
1 |
$ sudo echo hello |
[helloと表示]
1 |
hello |
[root ユーザーに戻る]
1 |
$ exit |
[下記のように変更される]
1 |
[root@IPアドレス ~]# |
[ConoHa との接続を終了する]
1 |
# exit |
[下記のように変更される]Macの場合
1 |
◯◯◯-no-MacBook-Air:~ ◯◯◯$ |
[一般ユーザーとしてログインできることを確認する]
1 |
$ ssh ユーザー名@IPアドレス |
[下記のように表示される]
1 |
[ユーザー名@IPアドレス ~]$ |
公開鍵と秘密鍵を生成する
いままではパスワードで ConoHa にログインしていましたが、鍵を使ってよりログイン出来るようにしましょう。
まずは ConoHa の鍵を生成します。
[ホームディレクトリに移動]
1 |
$ cd ~/ |
[下記のように表示される]
1 |
[ユーザー名@IPアドレス ~]$ |
[.ssh ディレクトリを作成]
1 |
$ mkdir .ssh |
[下記のように作成される]
1 |
drwxrwxr-x 2 ユーザー名 ユーザー名 4096 1月 6 16:08 .ssh |
[.ssh ディレクトリの権限を 700 に変更]
1 |
$ chmod 700 .ssh |
[下記のように変更される]
1 |
drwx------ 2 ユーザー名 ユーザー名 4096 1月 6 16:08 .ssh |
[.ssh ディレクトリに移動]
1 |
$ cd .ssh |
[鍵を生成]
1 2 3 4 5 |
$ ssh-keygen -t rsa -b 2048 Enter file in which to save the key: [任意の鍵名を入力か、デフォルトの鍵名でOKならばEnter] Enter passphrase: [そのままEnterを押すか、パスワードを入力] Enter same passphrase again: [もう一度同じ入力をする] |
※鍵にパスワードを付けたいならpassphrase:ここにパスワードを入力。いらないならEnter
※デフォルトの鍵名は「id_rsa」「id_rsa.pub」が作成される
[下記のように鍵が生成される]
1 2 |
-rw------- 1 ユーザー名 ユーザー名 1675 1月 6 16:22 id_rsa -rw-r--r-- 1 ユーザー名 ユーザー名 402 1月 6 16:22 id_rsa.pub |
[鍵のパーミッション変更]
1 |
$ chmod 600 鍵名.pub |
[下記のように変更される]
1 |
-rw------- 1 ユーザー名 ユーザー名 402 1月 6 16:22 id_rsa.pub |
リモートの SSH 設定を変更する
sshd_config を書き換えて、鍵認証でログインできるようにします。
加えてパスワードでのログインや root へのログインも制限します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
$ sudo vim /etc/ssh/sshd_config // 以下の行を探して、コメントを解除したり値を書き換えてください。 // RSA認証を許可する RSAAuthentication yes // 公開鍵での認証を許可する PubkeyAuthentication yes // 公開鍵のファイル場所を指定する AuthorizedKeysFile .ssh/鍵名.pub // パスワードでのログインを禁止する PasswordAuthentication no // root へ直接ログインを禁止する PermitRootLogin no |
※AuthorizedKeysFile .ssh/[鍵名].pub デフォルトでは「AuthorizedKeysFile .ssh/authorized_keys」になっている。
※「PasswordAuthentication no」にするタイミングは鍵認証でサーバーにログイン出来た後に設定する。そうしないと、鍵認証に失敗した場合に、サーバーに入れなくなる為
※万が一サーバーに入れなくなった場合は、ConoHaの管理画面にログインしてコンソールからサーバーに接続する。
参考はコチラ → コンソールを使う
★デフォルト名で使用したい場合は下記のようにする。
[公開鍵のコピー]
1 |
$ cp 鍵名 authorized_keys |
※デフォルトの場合は、$ cp id_rsa.pub authorized_keys
[SSH設定を反映する]
1 |
$ sudo systemctl restart sshd.service |
秘密鍵を保存する
先程生成した秘密鍵をローカルに保存します。
[秘密鍵を表示 (表示されたら全てコピーしてください)]
1 |
$ cat .ssh/鍵名 |
※デフォルトの場合は、$ cat .ssh/id_rsa
[ConoHa との接続を終了する]
1 |
$ exit |
[ローカルの .ssh ディレクトリへ移動]
1 |
$ cd ~/.ssh |
[鍵を貼り付け]
1 2 3 4 5 6 |
$ vim 鍵名 // vim が起動したら、先程コピーした秘密鍵をペーストします -----BEGIN RSA PRIVATE KEY----- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX... -----END RSA PRIVATE KEY----- |
※私の場合は下記のようにしました。
1 2 3 |
$ touch conoha.pem もしくは $ touch conoha.ppk |
空ファイルを作成します。
「conoha.pem」ファイルの中に秘密鍵をペースト。
・id_rsa
Linux上でのssh鍵作成をした際に生成される秘密鍵です。
・pem
OpenSSH形式の秘密鍵
AWS(Amazon Web Service)で初めてインスタンスを立てた際に、KeyPairが作成されます。
この時作成されたKeyPairはpemファイルです。
TeraTermなどのターミナルで利用可能です。
・ppk
PuTTY形式の秘密鍵
WinSCPを使用する際はこの形式の秘密鍵が必要です。
Tera Termなどのターミナルでも利用可能です。
[鍵のパーミッションを600に変更]
1 |
$ chmod 600 鍵名 |
[下記のように変更される]
1 |
-rw------- 1 ユーザー名 staff 1675 1 6 17:46 ◯◯◯ |
ローカルの SSH 設定を変更する
これからはパスワードではなく鍵認証でログインするようになります。
また毎回ユーザー名やIPアドレスを入力するのは面倒ですので、SSHの設定ファイルを作成します。
[ディレクトリ移動]
1 |
$ cd ~/.ssh |
[SSH の設定を追加する]
1 2 3 4 5 6 7 8 |
$ vim config // 編集して以下の内容を入力する Host 任意の接続先名 HostName IPアドレス User ユーザー名 Port 22 IdentityFile ~/.ssh/鍵名 |
設定を確認する
正しく設定できたか確認してみましょう。
[root でログインできないことを確認する]
1 |
$ ssh root@IPアドレス |
[下記のように表示されます]
1 |
Permission denied (publickey,gssapi-keyex,gssapi-with-mic). |
[接続先名だけで接続できることを確認する]
1 |
$ssh 接続先名 |
以上で必要最低限の設定は完了となります。
【第1回】ConoHa申し込み手順〜CentOS7でサーバー構築
【第5回】ConoHaとCentOS7でCakePHPインストール方法