人生シーケンスブレイク

人生を楽してクリアしたい。

さくらVPSにCentOS7の初期設定(sshd, zsh, yum-cron他)を行う

Dockerを動かす箱が欲しかった。

sshdの設定を行う

Web上には様々なドキュメントがあるが、ここは公式ドキュメント チュートリアル:CentOS 7(さくらのVPS)サーバ作成直後に設定しておくべき初期セキュリティ設定 – さくらのVPSニュース が最も適切だと判断して以下の設定を行う。

なお、さくらVPSでの初期設定は、クリップボードからのペーストが必要な為、さくらのVPS シリアルコンソール - β版 がオススメ。

ユーザーの作成とsudo権限の付与

# sshで接続するユーザーの作成とパスワードのセット
$ useradd <username>
$ passwd <username>

# 作成したユーザーをwheelグループに追加し、sudo可能にする
$ usermod -G wheel <username>

sshdの設定

sshdの設定は規定ポート22で尚且つパスワードでのログインが有効となっており、ブルートフォースアタックが可能な為安全とは言い切れない為、鍵認証のみに設定を変更する。

$ vi /etc/ssh/sshd_config

# 以下を編集する
Port 10022 # 10000以上の任意の番号に変更する(10022は例)
PermitRootLogin no # rootユーザーのsshログイン禁止
PasswordAuthentication no # パスワードでのsshログイン禁止

sshdの設定適用と起動の確認

$ sudo systemctl restart sshd
$ sudo systemctl status sshd

firewalldの設定も変更する

sshdのポート変更しただけでは、変更したポートが開いていない為、firewalldの設定も変更し、ポートを開く。

$ vi /usr/lib/firewalld/services/ssh.xml

# <port protocol="tcp" port="22"/> 部分を変更する
<port protocol="tcp" port="10022"/>

$ sudo firewall-cmd --reload
success

鍵の登録

ホストOSの鍵はGitHubとかで既に所有していると思うので省略。 Generating a new SSH key and adding it to the ssh-agent - User Documentation

ホストOSにて、自分の公開鍵をクリップボードにコピーする。

$ pbcopy < ~/.ssh/id_rsa.pub

次にVPS側で、authorized_keysに先程の公開鍵をペーストする

$ cd /home/<username>
$ mkdir .ssh
$ chmod 700 .ssh
$ vi .ssh/authorized_keys

# ここで先程のid_rsa.pubの内容をペーストして保存する

# 終わったらpermissionを変更する
$ chmod 600 .ssh/authorized_keys

ssh接続を試みる

諸々設定が終わったら、

$ ssh <hostname> -p <設定したポート番号>

で接続できるようになる。

ホストOSにて、.ssh/config で楽に接続できるようにする

.ssh/config に以下のような設定を書く

ForwardAgent yes
IdentityFile ~/.ssh/id_rsa
AddKeysToAgent yes
UseKeychain yes

Host sakura
  HostName <hostname(xxx.vs.sakura.ne.jpみたいなやつ>
  User <username>
  Port <sshdに設定したポート>

と、以後は

$ ssh sakura

で接続できる。

zshを利用する

$ sudo yum install zsh
$ sudo usermod -s /bin/zsh <username>

yum-cronで自動yumアップデート

$ sudo yum install yum-cron.noarch

# yum-cron.confを編集する
$ vi /etc/yum/yum-cron.conf

# yum-cron.conf内のapply_updates = yes に変更し、アップデートを有効にする。
apply_updates = yes

# yum-cronの自動起動を有効にしつつ、サービスを開始する
$ sudo systemctl enable yum-cron
$ sudo systemctl start yum-cron

他にも初期設定が必要だったら追記する。

zsh最強シェル入門

zsh最強シェル入門