Linux
CentOS
centos7

さくらVPS CentOS7セットアップ(インストール〜SSH設定・Firewalld設定まで)

さくらVPS CentOS7セットアップ(インストール〜SSH設定・Firewalld設定まで)

今まで6系を使っていたのですが、勉強もしたいので自前のVPSをCentOS7に変更した手順のメモを取りました。

6系ではiptablesとか自動設定や起動コマンドとか覚えていたのですが、7系は色々と違ったりしていました。これからコマンド覚えていこうと思います。。

  • CentOS7インストール
  • ログインの確認
  • SSHの設定
  • Firewalldの設定

さくらVPS管理画面 手順

01.jpg

  • さくらVPS管理画面にアクセス
  • OSインストールからカスタムOSインストールを選択

02.jpg

  • インストールOSからCentOS7を選択

03.jpg

  • VNCコンソール(HTML5版)を起動をクリック
  • コンソール画面が立ち上がる

CentOS7 設定

04.jpg

  • Install CentOS 7でEnter

05.jpg

  • 起動後、CentOSの初期画面が表示される(※SOFTWAREの項目はネットワーク環境によってソースの取得に時間がかかるようです。)
  • 「SYSTEM」の「 INSTALLATION DESTINATION」をクリック

06.jpg

  • ディスクの選択画面で、すべてのディスクが選択されているのを確認後したら「Done」をクリック

07.jpg

現在のディスクの利用情報が表示されるようです。
ディスクのパーティションをカスタムしたい場合は、公式を参照してください。

  • 標準のOSパーティションを利用するため、そのまま「Reclaim space」をクリック

08.jpg

09.jpg

  • RECLAIM DISK SPACEで「Delete ALL」をクリック
  • 右下の「Reclaim space」をクリック

10.jpg

  • 「Begin Installation」をクリックしてインストール開始

OSのインストール開始

11.jpg

  • インストール開始後、rootのパスワードとユーザ(任意)のパスワードを設定する

12.jpg

  • パスワードと確認用パスワードを入力してDone(強度が低いパスワードだと「Done」を2回クリックする必要がある)

インストール完了後、起動

すべてのインストールが完了後、仮想サーバは自動的に電源がOFFの状態になるのでコンソールから起動させて完了です。

SSHの初期設定と鍵の設定まで

  • CentOS7にrootでログイン(xxxはさくらVPSのIP)
$ ssh root@xxx.xxx.xxx.xx

yumアップデート

# yum -y update

ユーザの作成(GUIでユーザを作成していない場合)

# useradd ユーザ名  // ユーザを作成する
# passwd ユーザ名  // ユーザのパスワードを設定

作成したユーザをsudoが使えるグループに所属させる

  • wheelグループに、作成したユーザを所属
# usermod -G wheel ユーザ名
  • wheelグループのみ管理者になれるように設定
# vi /etc/pam.d/su
#auth sufficient pam_wheel.so trust use_uid
↓
auth sufficient pam_wheel.so trust use_uid
  • wheelグループをsudoできるように設定
# visudo
%wheel ALL=(ALL) ALL  // コメントアウトを外す
  • 別のターミナルを立ち上げてユーザからsshログイン
  • sudoができるか確認する
ssh ユーザ名@xxx.xxx.xxx.xx
$ sudo -s

公開鍵の設定をする

  • ローカルから公開鍵認証でSSHできるように設定する
  • 作成したユーザで設定を行う

SELinuxの設定

SELinuxを無効にする。※理解している場合は有効にしておいたほうが良いと思います。

  • 設定ファイルのenforcingをdisabledに変更
  • 保存
$ sudo vi /etc/sysconfig/selinux
SELINUX=enforcing
↓
SELINUX=disabled
  • OSを再起動
$ shutdown -r now
  • 再起動後、稼働状況を確認
$ getenforce

Firewalldの設定

  • Firewallで、sshでアクセスするポートを開ける
  • ポート:10222を追加
$ sudo firewall-cmd --add-port=10222/tcp
  • 再起動しても10222を使う
$ sudo firewall-cmd --permanent --add-port=10222/tcp
  • ポートが開いているか確認
$ sudo firewall-cmd --list-ports

鍵作成・配置(Mac)

  • Macのローカル環境で鍵を作成する
  • ユーザディレクトリに.sshフォルダを作成
$ mkdir ~/.ssh
$ cd ~/.ssh
$ ssh-keygen -t rsa
  • VPSへ公開鍵を転送する(ファイル名は、authorized_keys)
  • 転送先のユーザディレクトリに.sshフォルダを作成する
scp ~/.ssh/id_rsa.pub ユーザ名@xxx.xxx.xxx.xx:~/.ssh/authorized_keys
  • 権限の強化
$ ssh ユーザ名@xxx.xxx.xxx.xx
$ chmod 700 /home/ユーザ名/.ssh
$ chmod 600 /home/ユーザ名/.ssh/*
  • sshdの設定
$ sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.backup  // sshのconfigファイルのバックアップをとる
$ sudo vi /etc/ssh/sshd_config
  • 変更部分
# ポート番号
Port 10222
# rootでのログインを拒否
PermitRootLogin no
# パスワードでのログインを拒否
PasswordAuthentication no
# 公開鍵でのログインを許可
RSAAuthentication yes
PubkeyAuthentication yes

接続確認

  • 設定したPortと鍵で接続できるか確認する
ssh -p 10222 -i ~/.ssh/id_rsa ユーザ名@xxx.xxx.xxx.xx

参考サイト

まずは、初期設定は以上になります。
次回はNginxやPHPとDB周りのインストールができればと思っています。