5
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

さくらのVPS 標準OSの環境構築(1) VPS導入とログイン方法の変更

Last updated at Posted at 2016-04-23

はじめに

趣味で試そうと初期費用無料時に契約していたさくらのVPSをかなり放置していたのですが、今回ちゃんと使うことになったため、再構築をした際の手順をメモしました。

サーバー構築初心者が書いた備忘録になるため、当方は本記事を参考にセットアップしたことによって被った損害・損失に対し、いかなる場合でも一切の責任を負いませんのでご了承ください。
あくまでも自己責任でお願いします。

作業環境

  • ローカル
    • OS X Yosemite 10.10.5 標準ターミナル
  • サーバー

設定に入る前に

ホスト名の設定はネームサーバ利用申請方法DNS逆引きレコードを変更するなどを参照し、事前に設定しておきましょう。

また、今回はさくらのVPS 標準OSで構築していくため、OSセットアップ情報を確認します。
標準OSでは日本語のグループパッケージなどのインストールや簡単な設定がされているため、今回の環境構築ではタイムゾーンやNTPの設定は飛ばします。

契約直後ならそのまま、OSを再インストールするならコントロールパネルから標準OSインストールを実行してから次に進みましょう。

VPSにログイン

ローカルのターミナルからsshコマンドで、rootユーザーでログインします。
サーバーのIPアドレス、管理ユーザーの初期パスワードは仮登録完了のお知らせメールに記載されています。

ローカルで実行します
ssh root@xxx.xxx.xxx.xxx

xxx.xxx.xxx.xxxの部分をサーバーのIPアドレスに差し替えてください。
以降のサーバーのIPアドレスの表記はxxx.xxx.xxx.xxxに統一します。

実行結果
The authenticity of host 'xxx.xxx.xxx.xxx (xxx.xxx.xxx.xxx)' can't be established.
RSA key fingerprint is xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx.
Are you sure you want to continue connecting (yes/no)? <- yesを入力しEnter
Warning: Permanently added 'xxx.xxx.xxx.xxx' (RSA) to the list of known hosts.
root@xxx.xxx.xxx.xxx's password: 

SAKURA Internet [Virtual Private Server SERVICE]

[root@xxx.xxx.xxx.xxx ~]#

以降の作業はログイン方法の変更が完了するまで、このログイン状態のままで進めていきます。
別のユーザーやローカルでの作業が必要な場合、別ウィンドウまたは別タブで作業を行うようにしましょう。

パッケージとシステムのアップデート

インストールされている全てのパッケージのアップデート、およびシステムのアップグレードを実行します。
実行前にキャッシュの削除を挟みます。

yum clean all && \
yum -y update && \
yum clean all && \
yum -y upgrade && \
yum clean all

Tips
上記のように&&で連結することでコマンドを連続実行できます。
またコマンド入力中に\を入力後Enterを押すとコマンド入力を改行することができます。

システムのバージョン確認

現在のシステムのバージョンを確認します。

cat /etc/redhat-release

実行結果
CentOS release 6.7 (Final)

システムの日本語化

システムの言語設定を行います。
言語グループは初期状態でインストール済みのため、設定のみ行います。
LANGを下記に変更し、SUPPORTEDを追記します。

vi /etc/sysconfig/i18n

/etc/sysconfig/i18n
- LANG="C"
+ LANG="ja_JP.UTF-8"
+ SUPPORTED="ja_JP.UTF-8:ja_JP:ja"

設定を保存したら、設定ファイルをsourceコマンドで一度実行します。

source /etc/sysconfig/i18n

これで再起動しなくても言語設定が適用されます

管理ユーザーのパスワード変更

初期パスワードから変更しておきましょう。
今回の自分のようにOSを再インストールした場合は、新しいパスワードを入力したはずなので飛ばします。

passwd

実行結果
ユーザー root のパスワードを変更。
新しいパスワード: <- パスワードを入力
新しいパスワードを再入力してください: <- パスワードを再入力
passwd: 全ての認証トークンが正しく更新できました。

ログイン用ユーザーの作成と設定

rootユーザーの代わりにログインするための新規ユーザーを作成します。
ユーザーグループはwheelを指定します。
あわせて新規ユーザーのパスワードも設定します。

useradd LOGIN_USER -G wheel && \
passwd LOGIN_USER

LOGIN_USERの部分を任意のユーザー名に差し替えてください。
以降のログイン用ユーザーの表記はLOGIN_USERに統一します。

実行結果
ユーザー LOGIN_USER のパスワードを変更。
新しいパスワード: <- パスワードを入力
新しいパスワードを再入力してください: <- パスワードを再入力
passwd: 全ての認証トークンが正しく更新できました。

ユーザーグループ権限の設定

管理者権限を利用できるユーザーグループを設定します。
wheelグループに属するユーザーのみ管理者権限を扱えるようになります。

visudo

下記sudoers.tmpは、直接viコマンドで編集するのではなくvisudoコマンドを使用して編集します。
保存時に設定の文法チェックを行い、エラーがあった場合は再編集させてくれます。

/etc/sudoers.tmp
- # %wheel ALL=(ALL) ALL
+ %wheel ALL=(ALL) ALL

SSH鍵ペアの作成と設置

公開鍵を設置するための.sshディレクトリをユーザーLOGIN_USERのホームディレクトリに作成します。
また作成した.sshディレクトリのパーミッションを700に変更し、所有者もLOGIN_USERに変更します。

mkdir /home/LOGIN_USER/.ssh && \
chmod 0700 /home/LOGIN_USER/.ssh && \
chown LOGIN_USER:LOGIN_USER /home/LOGIN_USER/.ssh

次はローカル側でsshの鍵ペアを作成します。(別ウィンドウまたは別タブを開きます。)
パスフレーズの入力は、入力しても空EnterでもOKです。
入力した場合、初接続時にパスフレーズの入力が発生します。
鍵ペア作成後、秘密鍵id_rsaのパーミッションを0600に変更します。

HOST_NAMEの部分はホスト名に設定したドメイン名に差し替えてください。
以降のホスト名の表記はHOST_NAMEに統一します。

ローカルで実行します
mkdir -p ~/.ssh/HOST_NAME && \
ssh-keygen -t rsa -f ~/.ssh/HOST_NAME/id_rsa && \
chmod 0600 ~/.ssh/HOST_NAME/id_rsa

実行結果
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase): <- パスフレーズを入力(空Enter可)
Enter same passphrase again: <- パスフレーズを再入力(空Enterした場合、再度空Enter)
Your identification has been saved in /Users/user/.ssh/HOST_NAME/id_rsa.
Your public key has been saved in /Users/user/.ssh/HOST_NAME/id_rsa.pub.
The key fingerprint is:
xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx user@MacBook-Pro.local
The key's randomart image is:
+--[ RSA 2048]----+
|                 |
|                 |
|                 |
|                 |
|                 | <- 例
|                 |
|                 |
|                 |
|                 |
+-----------------+

scpコマンドで、上述で作成した公開鍵id_rsa.pubをサーバーにauthorized_keysとしてコピーします。

ローカルで実行します
scp ~/.ssh/HOST_NAME/id_rsa.pub LOGIN_USER@xxx.xxx.xxx.xxx:~/.ssh/authorized_keys

サーバーにコピーされた公開鍵authorized_keysのパーミッションを0600に変更します。

chmod 0600 /home/LOGIN_USER/.ssh/authorized_keys

SSHのポート番号とログイン方法の変更

SSHの設定を変更します。
この設定の作業時は、ログイン中のrootユーザーは絶対にログアウトさせてはいけません。
設定に誤りがあった場合、ログインできなくなり取り返しがつかなくなります。(最悪OSを再インストールすることになります。)
接続確認は必ず別ウィンドウまたは別タブで行いましょう。

vi /etc/ssh/sshd_config

まず、SSHのポート番号が標準の22番のままでは不正アクセスされやすいので変更します。
ポート番号は0〜65535から選べますが、0〜1023WELL KNOWN PORT NUMBERSに含まれ、1024~49512は登録ポートと呼ばれ既存のサービスと被る可能性がありますので、なるべく49513〜65535から選びましょう。

SSH_PORTの部分を任意のポート番号に差し替えてください。
以降のSSHのポート番号の表記はSSH_PORTに統一します。

/etc/ssh/sshd_config
- #Port 22
+ Port SSH_PORT

次に、rootユーザーでの直接ログインを禁止します。

/etc/ssh/sshd_config
- #PermitRootLogin yes
+ PermitRootLogin no

次に、公開鍵認証を有効化します。

/etc/ssh/sshd_config
- #RSAAuthentication yes
- #PubkeyAuthentication yes
- #AuthorizedKeysFile .ssh/authorized_keys
+ RSAAuthentication yes
+ PubkeyAuthentication yes
+ AuthorizedKeysFile .ssh/authorized_keys

最後に、パスワード認証を禁止します。

/etc/ssh/sshd_config
- PasswordAuthentication yes
+ PasswordAuthentication no

設定を保存したら、sshdを再起動します。

service sshd restart

これで、ローカル側から公開鍵認証が行えるようになりました。
ターミナルを別ウィンドウまたは別タブで開き、接続確認をします。

ローカルで実行します
ssh LOGIN_USER@xxx.xxx.xxx.xxx -i ~/.ssh/HOST_NAME/id_rsa -p SSH_PORT

  • 上記sshコマンドでログインが成功する
  • suコマンドおよびsudoコマンドが使用できる

この2点が確認できたらrootユーザーをログアウトしても大丈夫です。
これでログイン方法の設定は完了になります。

簡単にSSHへログインするための設定

ローカル側の~/.ssh/configに後述の設定することでHOST_NAMEのみでログインできるようになります。

ローカルで実行します
vi ~/.ssh/config

下記の設定を追記します。

~/.ssh/config
+ Host HOST_NAME
+     HostName xxx.xxx.xxx.xxx
+     Port SSH_PORT
+     User LOGIN_USER
+     IdentityFile ~/.ssh/HOST_NAME/id_rsa

これでHOST_NAMEのみでログインできるようになりました。

ローカルで実行します
ssh HOST_NAME

次回

さくらのVPS 標準OSの環境構築(2) ファイアウォールとシステムの設定

5
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?