猫型iPS細胞研究所

Windows、Linux、iOS、DB、Network

Linux

linuxでSSH公開キー認証ユーザーを作成する

投稿日:

目的

最低限のセキュリティを考慮して、下記要件のユーザーを作成します。

  • rootではなく一般ユーザーを作成し、sudoで管理コマンドを実行します。
  • rootに昇格できるユーザーを限定します。
  • リモートログインは一般ユーザーのみとします。
  • リモートログインはSSH公開キー認証とします。

ユーザーの作成

ユーザーを作成してwheelグループに追加します。
このwheelグループのユーザーを、後の作業でrootに昇格できるユーザーとします。

# useradd [ユーザー名]
# passwd [ユーザー名]
# usermod -G wheel [ユーザー名]

ユーザーの公開鍵と秘密鍵の作成

teraTermの
メニュー>設定>SSH鍵生成
より公開鍵と秘密鍵を作成してください。

作成した公開鍵をサーバーに配置

・作成したユーザーに変更
# su [ユーザー名]
$ cd /home/[ユーザー名]/
$ mkdir .ssh
$ chmod 700 .ssh
$ cd .ssh
・teraTermで作成した公開鍵を.ssh配下に配置する。
ファイル名はauthorized_keysとする。
$ vi authorized_keys ⇒ここに公開鍵テキストの中身を貼り付け
[ユーザー名]による読み取り専用にする。
$ chmod 600 authorized_keys

SSH公開キー認証の設定

sshd_configを編集する

# vi /etc/ssh/sshd_config

・RSA公開鍵認証の有効化
RSAAuthentication yes

・公開鍵認証を有効化
PubkeyAuthentication yes

・公開鍵の場所を指定(%hはホーム)
AuthorizedKeysFile   %h/.ssh/authorized_keys

・パスワードでのログインを禁止(鍵方式でのみログイン許可)
PasswordAuthentication no

・sshd_configの文法チェック
# /usr/sbin/sshd -t

・sshdの再起動
# service sshd restart

rootに昇格可能ユーザーを制限

suコマンドでrootになれるアカウントを制限します。
rootになれるのはWHEELグループのユーザーのみにします。

# vi /etc/login.defs
下記行を最後に追加
SU_WHEEL_ONLY        yes
# vi /etc/pam.d/su
下記行を追加(コメントアウト)
auth    required    /lib/security/pam_wheel.so use_uid group=wheel 

追加ユーザーにsudoの設定

# visudo
# 以下の行のコメントを外す
%wheel ALL=(ALL) ALL

<補足>
## Allows people in group wheel to run all commands
# %wheel ALL=(ALL) ALL ←こちらをコメントアウトすること。

## Same thing without a password
# %wheel ALL=(ALL) NOPASSWD: ALL ←こちらはパスワードが不要でsudoができる。。意味がないのでダメ。

rootアカウントでのリモートログインの不許可

# vi /etc/ssh/sshd_config
・変更
PermitRootLogin yes 
 ↓
PermitRootLogin no

Gooleアドセンス用336

Gooleアドセンス用336

-Linux
-,

執筆者:

関連記事

linux

linuxのユーザーの基本

linuxではインストール時に管理者権限をもつrootというユーザーが作成されます。 その後はwindows同様に一般ユーザーを作成したりして管理していきます。 ユーザーはいずれか、もしくは複数のグル …

windows

pingのTTLでOSを判別する

pingのTTLを見ると、簡単なOSの判別が可能です。 これは私のPC(Windows)と、そのPC上で起動させているCentOS(linux)へそれぞれpingを打った時のものです。 TTLが128 …

linux

vmware上のCentOSに仮想化ソフトxenをインストールする(3)ドメインUのインストール

ドメインUのインストールはvirt-installコマンドで行います。 インストール自体は簡単ですので、 ここでは2点ポイントを紹介します。 メモリー不足のためのエラー 下記のようなエラーが出る場合が …

linux

linuxの最大ファイルサイズの確認

INDEX1 ファイルシステムの種類を調べる2 ブロックサイズを調べる3 linuxのカーネルバージョンを調べる ファイルシステムの種類を調べる 以下ext3での最大ファイルサイズの調べ方です。 df …

linux

grepの検索方法のまとめ

grep [検索文字列] [検索対象] が基本ですが、検索対象はファイル内の文字列であったりファイル名であったりします。 INDEX1 ファイルの中の文字列を検索する2 ファイル名を検索する3 ディレ …