はらぺこらいおん

日々、思ったことを。

ConoHaでインスタンスの初期セットアップ(CentOS7.4 64bit)

ConoHaでインスタンスの初期セットアップ(CentOS7.4 64bit)を行ったので、その記録を残しておきます。 CentOS7.3->7.4でSSHの設定が少し異なっていたので内容をアップデートします。(2018/04/07)

ConoHaコントロールパネル ログイン

ConoHaコントロールパネルへのログインは公式ページより行います。

www.conoha.jp

ログインボタンからID、パスワード、2段階認証コードを入力してログインします。

インスタンス作成

ログインすると以下のような画面が表示されます。

f:id:pictzzz:20170304142344p:plain

コントロールパネルの左側のメニューからサーバーを選択します。 サーバー画面で「+サーバー」をクリックします。

f:id:pictzzz:20170304142826p:plain

接続許可ポート IPv4 / IPv6では、不要なポートはチェックを外します。 今回はリモートメンテナンス用SSHとWebサーバー用Webのみを開けています。

SSHキーは後からでも作成できます。

一般ユーザー作成

サーバー画面から、作成したサーバーを選択します。 画面上部のコンソールボタンをクリックします。

f:id:pictzzz:20170304143641p:plain

以下のようなコンソールが開きます。

f:id:pictzzz:20170304143852p:plain

このコンソールにコマンドを入力することでサーバーを操作することができます。

まずは、ユーザーを作成し、パスワードを設定します。 「username」は作成したいユーザー名になります。 パスワードは入力しても表示されません。

# adduser _username_
# passwd _username_
新しいパスワード:
新しいパスワード(再入力):

次に管理者権限でコマンドを実行できるようにします。 デフォルトでsudoの設定がwheelグループに許可されていました。 許可されるグループやユーザーを指定する場合、visudoコマンドを実行します。

# usermod -G wheel _username_

sudoコマンドが実行できるかを確認します。 viが起動すればOKです。ESCキー + :q + エンターキーで終了します。

# su - _username_
$ sudo vi a.txt
[sudo] password for _username_: 

公開鍵認証設定

リモートでサーバーへ接続するPCでキーペアを作成します。
今回はmacOSで行います。Linuxでは同じコマンドが使えるかと思います。
Windowsではputtyとかをインストールすればキーペアを生成できます。
filenameにはキーファイル名を入力します。(任意の名称)
コマンドを実行後、filenamefilename.pubが生成されているかと思います。

$ ssh-keygen -t rsa -f _filename_
$ 

filename.pubを接続するサーバーへ転送します。 今回はコンソールで入力します。

$ cat _filename_.pub
key-xxxxxxxxx

catコマンドでkeyの中身が表示されるので、コピーしておきます。

Webのコンソールを開きます。rootになっている場合、作成したユーザーに切り替えます。 今ログインしているユーザーはidコマンドで調べることができます。

# su - _username_

ホームディレクトリー下に.sshディレクトリーを作成します。ディレクトリーのパーミッションを700に変更します。 作成した.sshディレクトリー下にauthorized_keysを作成します。authorized_keysには、先ほどコピーしたキーを貼り付けます。
authorized_keysはパーミッションを600に変更します。

$ mkdir .ssh
$ chmod 700 .ssh
$ vi .ssh/authorized_keys
$ chmod 600 .ssh/authorized_keys

sshd設定

sshdの設定を変更して、rootでログインできないようにしておきます。

$ sudo vi /etc/ssh/sshd_config
#Port 22
↓
Port 22

#PubkeyAuthentication yes
↓
PubkeyAuthentication yes

#Banner none
↓
Banner none

PermitRootLogin yes
↓
PermitRootLogin no

変更したらsshdを再起動します。

$ sudo systemctl restart sshd

PCから接続

今回はmacOSからの接続の場合、ターミナルを開いて、sshコマンドを実行します。 ip_addressにはサーバーのIPアドレスを指定します。ConoHaのコントロールパネルに表示されています。 key_pathには今回生成したキーペアの.pubが付いていない方を指定します。

初回接続時には警告が出ますが、yesで進めます。

$ ssh _username_@_ip_address_ -i _key_path_

以上で、セットアップは完了です。