ユーザーへの SSH アクセス権限の付与
1 人以上のユーザーに SSH アクセス権限を付与するには、以下の手順を使用します。 以下のステップは、このファイルを構成する方法を示しています。
-
以下の OpenSSH ファイルを見つけます。
/etc/ssh/sshd_config
-
必要な場合に戻せるように、このファイルのバックアップを作成します。
cp /etc/ssh/sshd_config{,.'date +%s'}
-
OpenSSH キーワードを使用してファイルを編集します。
OpenSSH キーワード
OpenSSH キーワードに関する以下の情報を参照してください。
AllowGroups
このキーワードの後にグループ名パターンのリストを含めます。 複数のパターンはスペースで区切ります。 ログインを指定する場合、1 次グループまたは補足グループのリストがこれらのパターンのいずれかに一致するユーザーにのみログインが許可されます。 パターンのワイルドカードとして"*" and "?"
を使用できます。 グループ名のみが有効であり、数値グループ ID は認識されません。
デフォルトでは、すべてのグループにログインが許可されます。
AllowUsers
このキーワードの後に、ユーザー名パターンのリストを含めます。 複数のパターンはスペースで区切ります。 Loginを指定すると、いずれかのパターンに一致するユーザー名に対してのみログインが許可されます。 パターンのワイルドカードとして"*" and "?"
を使用できます。 有効なのはユーザー名のみです。数値のユーザー ID は認識されません。 デフォルトでは、すべてのユーザーにログインが許可されます。
パターンが USER@HOST の形式を取る場合は、USER と HOST は別々に検査され、特定のホストからの特定のユーザーにログインを制限します。
DenyGroups
このキーワードの後にグループ名パターンのリストを含めます。 複数のパターンはスペースで区切ります。 ログインを指定する場合、1 次グループまたは補足グループのリストがこれらのパターンのいずれかに一致するユーザーに対してログインが不許可になります。 "*" and "?"
をパターンのワイルドカードとして使用できます。 グループ名のみが有効であり、数値グループ ID は認識されません。
デフォルトでは、すべてのグループにログインが許可されます。
DenyUsers
このキーワードの後に、ユーザー名パターンのリストを含めます。 複数のパターンはスペースで区切ります。 Loginを指定すると、いずれかのパターンに一致するユーザー名に対して許可されなくなります。 パターンのワイルドカードとして "*" and "?"
を使用できます。 有効なのはユーザー名のみです。数値のユーザー ID は認識されません。 デフォルトでは、すべてのユーザーにログインが許可されます。
パターンが USER@HOST の形式を取る場合は、USER と HOST は別々に検査され、特定のホストからの特定のユーザーにログインを制限します。
例
以下の例では、 admin
と user1
の 2 人の特定のユーザーのみがサーバーにログインできます。
キーワード DenyGroups
および DenyUsers
を使用して、同様の方法でグループを拒否することができます。
AllowUsers admin user1
今後のユーザーの拡張に備えて、サーバーにログインできるグループをサーバー上に作成することができます。 必要に応じて個々のユーザーを追加できます (username
を実際のユーザーに置き換えます)。
-
シェルで、以下のように sshusers などのユーザー・グループを追加します。
groupadd –r sshusers
-
シェルで、以下のようにグループにユーザーを追加します。
usermod –a –G sshusers admin
usermod -a -G sshusers user1
-
sshd_config ファイルで、以下のように sshusers グループにアクセス権限を付与します。
AllowGroups sshusers
-
以下のようにして、sshd が中断せずに新しい構成を読み取ることを確認します。
/usr/sbin/sshd –t
echo $?
0
コマンドの後にecho $?
が表示される場合、新しい構成は正しく設定されています。また、以下の例のようなエラー・メッセージを受け取ることもあります。
sshd_config: line 112: Bad configuration option: allowuser
sshd_config: terminating, 1 bad configuration options
-
すべてのエラーを修正し、正しい構成が設定されたら、sshd を再始動します。 以下のコマンドは、sysv 互換システムでのコマンド例です。
/etc/init.d/sshd restart
既存のセッションを切断せずに新しい SSH セッションを作成するようにしてください。 追加したユーザーですべてのアクションを実行できることを確認してください。