[CentOS7] sudo、公開鍵によるSSH接続設定
CentOSインストール直後、セキュリティのために最低限行ったほうがいい作業です。
Contents
環境
CentOS7.4
パッケージ更新
$ yum -y update
管理者ユーザ追加
ユーザ作成する際のデフォルト値
$ useradd -D
ユーザ追加 (-mは、ホームディレクトリ作成、sudo用にwheelグループに追加しておきます)
useradd -m -U -G wheel ユーザ名
パスワード設定
passwd ユーザ名
sudo 設定
- visudo起動
$ visudo
-
wheelグループに対して許可
Allows people in group # wheel to run all commands
%wheel ALL=(ALL) ALL
↓
wheel to run all commands
%wheel ALL=(ALL) ALL -
(任意) sudo 実行時のパスワード無し ※ 公開サーバではやらないほうが良い
# %wheel ALL=(ALL) NOPASSWD: ALL
%ユーザ名 ALL=(ALL) NOPASSWD: ALL
※ この作業以降は、rootではなく作成したユーザーで作業。
SSH 公開鍵による接続
※ 前もって公開鍵・秘密鍵を作成しておくこと。
公開鍵:id_rsa.pub
秘密鍵:pri_id_rsa 1. ユーザのホームディレクトリに公開鍵を保存
$ su - ユーザー名
$ cd ~ ← ユーザのホームディレクトへ移動
$ mkdir .ssh ← 公開鍵を保存するディレクトリ作成
$ chmod 700 .ssh
$ vi .ssh/authorized_keys
※ エディタ内に、作成済みの公開鍵を張り付けて保存。
$ chmod 600 .ssh/authorized_keys
-
SSHサーバの設定 ※ 設定に失敗すると外部からつながらなくなるので、念のためターミナルは2つ接続しておくといいですよ。
$ sudo vi /etc/ssh/sshd_config
Port xxxx ← 22から変更
PermitRootLogin no ← rootでのログイン禁止
PasswordAuthentication no ← パスワードでのログイン禁止
sshdを再起動
sudo systemctl restart sshd
firewall設定 2122許可と 22の削除
firewall-cmd --add-port=2122/tcp --zone=public --permanent
firewall-cmd --remove-port=2122/tcp --zone=public --permanent
firewall-cmd --reload
ディスカッション
コメント一覧
まだ、コメントがありません