読者です 読者をやめる 読者になる 読者になる

shucreamTech

web系エンジニアが意識低く書くブログ

ScientificLinux 7系 で最初にやること

Linux

"新しいサーバを立てた時にやることScientificLinux7系編" です。 割りとお決まりの設定なので、本当はShellScriptでもAnsibleでもいいので自動化しておくといいですね。 やることは本質的には6系の時と全く変わらないのですが、6系と7系とでコマンドが変わっていたりするので、備忘録として書いておくことにします。

前提

OSインストール直後のまっさらな状態を前提に話を進めます。

目次

① adminユーザを作成 ② sshd_configの設定

① adminユーザを作成

基本的にrootは封印するため、代わりに管理ユーザを作成します。 ここでは管理ユーザの名前は adminuser とします。 $ useradd adminuser

次に、パスワード無しでsudoを許可しておきます。

$ visudo

# 以下の1行を追加
adminuser ALL=(ALL) NOPASSWD:ALL

adminuserでssh接続できるよう、 /home/adminuser/.ssh/authorized_keys に公開鍵を登録します。

② sshd_configの設定

おおまかに、

  • rootのsshログインを禁止
  • sshに使うポートを変更

以上二点です。

まずはconfigの変更

$ vim /etc/ssh/sshd_config

# 以下の項目を設定
Port 10022 #セキュリティ的に、デフォルトの22は避けましょう
PermitRootLogin no # rootでのsshログインを禁止
PasswordAuthentication no # パスワード認証禁止

次に、ファイアウォールの10022番ポートを開けます。 ここが、6系ではiptablesでしたが、7系ではfirewalldに変わっています。 また、serviceではなくsystemctlを使います。(一応、従来の書き方もエイリアスされてはいます)

 # 現在利用可能なサービスを確認
$ firewall-cmd --list-services
=> dhcpv6-client ssh

# 古い設定を削除
$ firewall-cmd --permanent --remove-service=ssh
# 新しいsshのポートを設定
$ firewall-cmd --add-port=10022/tcp --zone=public --permanent #

$ systemctl enable firewalld # 自動起動on
$ systemctl restart firewalld # 再起動

CentOS7でポートを開放する方法。

一旦ここでおしまい。他にもあったら追記します。

参考リンク

6系と7系の違いについて知りたい方は、 - 保存版 CentOS 7とCentOS6との違いまとめ - CentOS6とCentOS7の比較表 この辺りが参考になるかと思います。