[前提条件]
サーバ・インスタンスの準備ができ、SSHログインできる状態
[目的]
rootのSSHを禁止し、作業用アカウントのみSSHログインできるようにする
パッケージ最新化
脆弱性対策のためにもパッケージを最新化する
yumでインストール済みのパッケージを最新化する
yum update
...
総ダウンロード容量: XXX M
Is this ok [y/d/N]: y
...
反映のために再起動
reboot
ユーザ追加
作業用のユーザを追加する。
rootではなく、この作業用ユーザを使うために作成。
アカウント追加
useradd user1
パスワード設定
passwd user1
ユーザー user1 のパスワードを変更。
新しいパスワード:
新しいパスワードを再入力してください:
passwd: すべての認証トークンが正しく更新できました。
追加したユーザの公開鍵配置
作成した作業用ユーザでSSHログインするために、公開鍵を配置する。
.sshディレクトリをパーミッション700で作成
mkdir -m 700 /home/user1/.ssh
公開鍵を配置
vim /home/user1/.ssh/authorized_keys
公開鍵のパーミッションを600に
chmod 600 /home/user1/.ssh/authorized_keys
.ssh配下の所有者を変更
chown -R user1:user1 /home/user1/.ssh/
この状態で追加したアカウントでSSHログインして接続できることを確認
ログインしているアカウントの確認
whoami
user1
sudoユーザを追加
root以外のアカウントでsudoを使えないので使えるようにする
wheelグループにsudo権限をつける
visudo
以下の行のコメントアウトを外して有効化
%wheel ALL=(ALL) ALL
user1をwheelグループに追加(sudoを許可するアカウントのみwheelに所属させる)
usermod -G wheel user1
この状態で追加したユーザでログインし、sudoが使えるか確認
ログインしているアカウントを確認
whoami
user1
sudoが使えるか確認
sudo pwd
[sudo] password for user1:
/home/user1
ここからは作業用アカウントで作業
#rootでのSSHを禁止
セキュリティ面からrootでのSSH接続を禁止する
SSHの設定を変更
sudo vim /etc/ssh/sshd_config
PermitRootLoginをnoに変更
#PermitRootLogin yes
PermitRootLogin no
sshdを再起動して設定反映
sudo service sshd restart
Redirecting to /bin/systemctl restart sshd.service
この段階でrootでSSHしようとするとPermission denied (publickey,gssapi-keyex,gssapi-with-mic).
で接続拒否される
※続きのWebサーバ構築は こちら