LoginSignup
20
20

More than 5 years have passed since last update.

CentOS7の基本的な初期設定

Last updated at Posted at 2016-04-10

DigitalOceanのエンジニアがオススメするらしいCentOS7の初期設定の日本語訳
(https://www.digitalocean.com/community/tutorials/initial-server-setup-with-centos-7)

この記事ではroot権限を持つユーザーの作成からSSHキーの登録、rootログインの禁止設定までをカバーしている。

ユーザーの作成

rootはUNIX系OSでは神の如き存在だけれど、基本的にrootユーザーで作業をすることはどんな状況でもオススメされない。なのでrootに代わる限定的な権限のユーザーを予め最初に作っておくことが望ましい。

新しいユーザーericの作成

sh
$ adduser eric

ericにパスワードを設定

sh
$ passwd eric

Root権限の付与

root権限を用いてコマンドを実行するsudoコマンドを使えるようにするために、先ほど作成したユーザーをwheelというグループに追加する。wheelはUNIX系システムでrootになれるグループ。

ericをwheelグループに追加

sh
$ gpasswd -a eric wheel

SSHキーの登録

SSHキーを登録しておくことで、サーバログインの際のパスワード入力を省くことができる。予めSSHキーを作っていなければ作成する。

sh
$ ssh-keygen

キーの保存先ディレクトリと名前を変更しなければ、~/.ssh/の中にid_rsaという秘密鍵ファイルが出力される。これと同時にid_rsa.pubという公開鍵ファイルもできているので確認しておく。

ssh-copy-idコマンド

MacではなくUNIX系マシンを使っていれば、ssh-copy-idというローカルマシンの公開鍵を指定のリモートホストに登録できる便利ツールが使える。すでに他のマシンなりサーバなりを持っていれば/usr/binのあたりに入っているのでコピーするのもよい。

(以下をローカルマシンから実行)

sh
$ ssh-copy-id eric@SERVER_ADDRESS

authorized_keysの手動編集

ssh-copy-idが使えなければ、実際にauthorized_keysを手で編集していく必要がある。まずは、先ほど作成したユーザーericでログインし、以下の手順を踏んでいく。

まずはホームディレクトリに.sshディレクトリを作成し、所有者のみにすべての操作を許可するパーミッションを付与する(700)

sh
$ mkdir ~/.ssh
$ chmod 700 ~/.ssh

許可する公開鍵の一覧を登録するauthorized_keysファイルを作成し、その中にid_rsa.pubの中身を貼り付ける

sh
$ touch ~/.ssh/authorized_keys
$ vi ~/.ssh/authorized_keys

編集が終わったら、authorized_keysファイルに所有者のみ読み書き可能のパーミッション(600)を付与し、シェルを抜ける。

sh
$ chmod 600 ~/.ssh/authorized_keys
$ exit

Rootログインの禁止

よりセキュリティを強固にするために、SSH Daemonの設定を少し弄る。

sh
$ vi /etc/ssh/sshd_config

先ほどユーザーericを作ったように、rootで何か作業を行うことはほぼオススメされない。ということでrootへのリモートログインを無効にする。

sshd_config
# この行をyesからnoに変更する
PermitRootLogin no

sshd_configを編集したのち、SSH Daemonを再起動する

sh
$ systemctl reload sshd

終わりに

ここまでであらかたCentOSサーバを使うためのの基本的な設定は完了。次のステップとしてファイアウォールの設定などをカバーしたCentOS7の追加オススメ設定(英語)というドキュメントもあるので、よむといいかも。

20
20
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
20
20