🗂
SSHサーバでグループ単位で認証方法を変える
- SSHサーバ(sshd)の設定ファイル
/etc/sshd_config
でグループ単位、ユーザ単位で認証方法等を制御できる。 - man sshd_configで確認できる。
https://linux.die.net/man/5/sshd_config
https://nxmnpg.lemoda.net/ja/5/sshd_config
例
group01に所属するユーザはパスワードと公開鍵認証が可能
group02とgroup03に所属するユーザは公開鍵認証が可能
sshd_config
<省略>
PasswordAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
AllowGroups group01
Match Group group02,group03
PasswordAuthentication no
AllowGroups group02 group03
構文
Match 条件基準 条件パターン
上書きしたい設定
-
条件基準
User, Group, Host,LocalAddress, LocalPort, Address -
条件パターン
条件基準に関連するパターン(ユーザ名、グループ名等)
カンマ区切りでOR指定やワイルドカード等も指定可能 -
Matchで上書きできる設定(抜粋)
AllowGroups, AllowUsers,
AuthenticationMethods, AuthorizedKeysCommand,
AuthorizedKeysCommandUser, AuthorizedKeysFile,
HostbasedAcceptedAlgorithms, HostbasedAuthentication,
HostbasedUsesNameFromPacketOnly, Include,
PasswordAuthentication, PermitEmptyPasswords,
PermitListen, PermitOpen,
PubkeyAcceptedAlgorithms, PubkeyAuthentication,
PubkeyAuthOptions, -
補足
Matchは末尾に記載したほうが記載内容を少なくできる。
複数のMatchがある場合、最初の条件に一致したものだけを処理するので注意が必要
Discussion