まぬねこの足跡。。。

備忘録+たのしさ+ひっそりと

SSH(VPS)一般ユーザー(sudo利用設定)rootログイン拒否設定

環境

  • さくらVPS
  • windows10
  • CentOS7
  • PuTTY(日本語版)

SSHVPS)一般ユーザー に切替え

rootユーザー:サーバー管理権限あり
そのままだと乗っ取りに会う可能性があり危険!!

なので、通常の作業は管理者権限なしの一般ユーザーでアクセスしたい。
(パスワードがばれても全乗っ取りにならない。)
「rootユーザー」で直接VPSにアクセスできないようにする。

手順

1.一般ユーザ作成

A.ユーザ名入力

[root@□□-□□□□ ~]# adduser ユーザ名

B.ユーザのパスワードを設定

[root@□□-□□□□ ~]# passwd ユーザ名

C.2か所でパスワードそれぞれ1回入力 ※表示されない。

Changing password for user ユーザ名.
New password:
Retype new password:

D.確認

下記のようになったらパスワード設定OK!!

passwd: all authentication tokens updated successfully.

E.一旦ログアウト

[root@□□-□□□□ ~]# exit

2.ログイン確認

  1. puttyjp.exeを起動
  2. 接続先の指定のホスト名(またはIPアドレス)にVPSIPv4IPアドレス
  3. 入力後、「開く」選択 警告表示されたら、「はい」選択
  4. コマンドプロンプトが開く
  5. +下記で「ユーザ名」入力
  6. login as:  
    

  7. 下記で「ユーザパスワード」入力

  8. ※入力パスワードは表示されない。

    ユーザ名@XXX.XXX.XXX.XXX's password:
    

    ※「XXX.XXX.XXX.XXX」は、VPSIPアドレス

    [ユーザ名@□□-□□□□ ~]$
    

    最後が「$」なら ログイン成功!!

3.rootユーザに切り替える

[ユーザ名@□□-□□□□ ~]$ su -

rootユーザパスワード入力 ※表示されない

Password:

4.sshサーバー設定変更…rootユーザで直接アクセス拒否

  • sshサーバーの「sshd_config」の編集 ※sshサーバー設定ファイル
  • 注)「ssh_config」と間違わないこと。
  • エディター「vim」で編集する

A.フォルダ移動してバックアップファイルをコピーしておく

[root@□□-□□□□ ~]# cd /etc/ssh
[root@□□-□□□□ ~]# cp sshd_config sshd_config.old2

B.作成したファイル「sshd_config.old」があることを確認

[root@□□-□□□□ ssh]# ls
moduli                  ssh_host_ed25519_key      sshd_config
ssh_config              ssh_host_ed25519_key.pub  sshd_config.old
ssh_host_ecdsa_key      ssh_host_rsa_key          sshd_config.orig
ssh_host_ecdsa_key.pub  ssh_host_rsa_key.pub      sshd_config.rpmnew
[root@□□-□□□□ ssh]#

C.「sshd_config」をvimエディタで起動

[root@□□-□□□□ ~]# vim sshd_config

D.キーで「#PermitRootLogin yes」49行目(行数表示:赤枠内)まで移動

vimエディタによる「sshd_config」

E.vim編集

PermitRootLogin no

ちょこっとメモ

vim編集

  • 1文字削除:「x」キー入力
  • ノーマルモードインサート(文字入力)モード切替:「i」キー入力 「ーINSERT-」表示後、 文字入力編集 ノーマルモードへ:「ESC」キー入力
  • 保存終了:「:wq」

5.sshサーバー再起動

[root@□□-□□□□ ~]# systemctl restart sshd.service

下記が表示されたら失敗、何もなければ成功

Job for sshd.service failed because …

サーバー停止

[root@□□-□□□□ ~]# shutdown -h now

sudo利用設定

一般ユーザで「sudo」コマンドが使えるように設定

A.一般ユーザを「wheel」グループに追加

[root@□□-□□□□ ~]# usermod -G wheel ユーザ

B.再ログイン後、確認 (CentOS 7の場合)

[ユーザ@localhost ~]$ sudo id
[sudo] password for ユーザ名: ←ユーザパスワード入力(入力内容は非表示)
uid=0(root) gid=0(root) groups=0(root) ←全てrootになっている
[ユーザ@localhost ~]$