パソコン鳥のブログ

アクセスカウンタ

zoom RSS sshd_config の設定で接続元ごとに認証方法などの設定を変える

<<   作成日時 : 2015/10/12 08:18   >>

ブログ気持玉 0 / トラックバック 1 / コメント 0

sshd_config の設定で、接続元ごとに認証方法などの設定を変える方法です。

以前、この記事 で、sshサーバの複数起動によって、接続元によって通常のパスワード認証と公開鍵認証を使い分ける方法を説明しました。
今頃になって知りましたが、CentOS7,Ubuntuでは、sshd_config の設定で同様のことが出来ます。
またCentOS6 では、 鍵ファイルの指定 AuthorizedKeysFile が接続元ごとに出来ませんが、それを除けば同様のことが出来ます。

まず、/etc/ssh/sshd_config で以下のように、Portを複数行書くと、各ポートで sshd は待ち受けます。


Port 22
Port 2222



また、/etc/ssh/sshd_config で Match を使えば、接続元や接続ポート番号等によって、sshdの挙動を変えることが出来ます。

sshd_config の末尾に、次の書式で追加します。


Match 条件
オプション
オプション



条件にマッチした接続では、オプションで指定した内容で設定が上書きされます。
オプション は、他のMatchが現れるか、ファイル末尾になるまでになります。

例えば、次のようにすると、接続元アドレスが 192.168.0.100 の場合に、PasswordAuthentication no(パスワード認証しない。公開鍵認証の必要あり)で接続します。


Match Address 192.168.0.100
PasswordAuthentication no


指定できる条件と、オプションは Ubuntu、CentOS6/7 で異なります。
これは SSHD のバージョンによるものです。

CentOS6

指定できる条件
User, Group, Host, Address
指定できるオプション
AllowAgentForwarding, AllowTcpForwarding, Banner,
ChrootDirectory, ForceCommand, GatewayPorts, GSSAPIAuthentication,
HostbasedAuthentication, KbdInteractiveAuthentication,
KerberosAuthentication, KerberosUseKuserok, MaxAuthTries, MaxSessions,
PubkeyAuthentication, AuthorizedKeysCommand, AuthorizedKeysCommandRunAs,
PasswordAuthentication, PermitEmptyPasswords, PermitOpen, PermitRootLogin,
RequiredAuthentications1, RequiredAuthentications2, RhostsRSAAuthentication,
RSAAuthentication, X11DisplayOffset, X11Forwarding and X11UseLocalHost


CentOS7

指定できる条件
User, Group, Host, LocalAddress, LocalPort, Address
指定できるオプション
AcceptEnv, AllowAgentForwarding, AllowGroups,
AllowTcpForwarding, AllowUsers, AuthenticationMethods, AuthorizedKeysCommand,
AuthorizedKeysCommandUser, AuthorizedKeysFile, AuthorizedPrincipalsFile, Banner,
ChrootDirectory, DenyGroups, DenyUsers, ForceCommand, GatewayPorts,
GSSAPIAuthentication, HostbasedAuthentication, HostbasedUsesNameFromPacketOnly,
KbdInteractiveAuthentication, KerberosAuthentication, KerberosUseKuserok,
MaxAuthTries, MaxSessions, PasswordAuthentication, PermitEmptyPasswords, PermitOpen,
PermitRootLogin, PermitTunnel, PubkeyAuthentication, RekeyLimit,
RhostsRSAAuthentication, RSAAuthentication, X11DisplayOffset, X11Forwarding and
X11UseLocalHost.


Ubuntu12.04以降

指定できる条件
User, Group, Host, LocalAddress, LocalPort,Address
指定できるオプション
AcceptEnv,
AllowAgentForwarding, AllowGroups, AllowTcpForwarding,
AllowUsers, AuthenticationMethods, AuthorizedKeysCommand,
AuthorizedKeysCommandUser, AuthorizedKeysFile,
AuthorizedPrincipalsFile, Banner, ChrootDirectory, DenyGroups,
DenyUsers, ForceCommand, GatewayPorts, GSSAPIAuthentication,
HostbasedAuthentication, HostbasedUsesNameFromPacketOnly,
KbdInteractiveAuthentication, KerberosAuthentication,
MaxAuthTries, MaxSessions, PasswordAuthentication,
PermitEmptyPasswords, PermitOpen, PermitRootLogin, PermitTTY,
PermitTunnel, PermitUserRC, PubkeyAuthentication, RekeyLimit,
RhostsRSAAuthentication, RSAAuthentication, X11DisplayOffset,
X11Forwarding and X11UseLocalHost.



条件では Address、LocalAddress で指定するアドレスは、192.168.0.0/24 といったCIDR形式も可能です。
また 192.168.0.*、192.168.0.?、*.co.uk といったワイルドカードも使用可能です。
否定を表す場合は、! を付けて、!10.0.0.5 のようにします。


複数条件では、下記のようにスペース区切りで条件を列挙すると AND になります。
下記では、Address が 192.168.0.10 で、LocalPort 2222 の場合にマッチします。


Match Address 192.168.0.10 LocalPort 2222
PasswordAuthentication no



条件を,で区切ると OR になります。
下記では、「Address が 10.0.1.0/24 または 127.0.0.1」かつ「LocalPort 22」の場合にマッチします。


Match Address 10.0.1.0/24,127.0.0.1 LocalPort 22
PasswordAuthentication no





参考


SSH力をつけよう
外からは公開鍵、内側だけはパスワード許可 - sshd の ローカル側だけパスワードを使えるようにする。 - それマグで!
2014/12/06 - sshd のコンフィグファイルの条件分岐 ― togakushi.bitbucket.org 0.1 documentation
Ubuntu Manpage: sshd_config ― OpenSSH SSH daemon configuration file

テーマ

関連テーマ 一覧


月別リンク

ブログ気持玉

クリックして気持ちを伝えよう!
ログインしてクリックすれば、自分のブログへのリンクが付きます。
→ログインへ

トラックバック(1件)

タイトル (本文) ブログ名/日時
sshサーバを複数起動する設定
2015/10/12 CentOS7,Ubuntu ではsshサーバを複数起動せずとも、sshd_config の設定だけで同様のことが出来ます。 次の記事を参照して下さい。 sshd_config の設定で接続元ごとに認証方法などの設定を変える ...続きを見る
パソコン鳥のブログ
2015/10/12 08:23

トラックバック用URL help


自分のブログにトラックバック記事作成(会員用) help

タイトル
本 文

コメント(0件)

内 容 ニックネーム/日時

コメントする help

ニックネーム
本 文
sshd_config の設定で接続元ごとに認証方法などの設定を変える パソコン鳥のブログ/BIGLOBEウェブリブログ
文字サイズ:       閉じる