0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

あるユーザについて特定のアドレスからのみSSH接続許可したい

Posted at

SSH接続におけるパスワード認証滅べばいいのに、と思った案件。

やりたいこと

以下の環境でusr01@svr00についてsvr01からのSSH接続のみを許可したい。
ただしusr00@svr00はどのサーバからもSSH接続できるものとする。

server address user
svr00 192.168.33.100 usr00,usr01
svr01 192.168.33.101 usr00
svr02 192.168.33.102 usr00

authorized_keysを使うパターン

公開鍵認証以外の認証を拒否している前提であればauthorized_keysでfrom条件を入れるのがお手軽。

/etc/ssh/sshd_config
PubkeyAuthentication yes
PasswordAuthentication no
ChallengeResponseAuthentication no
/home/usr00/.ssh/authoried_keys
ecdsa-sha2-nistp256 AAAAE2U...
/home/usr01/.ssh/authoried_keys
from="192.168.33.101" ecdsa-sha2-nistp256 AAAAE2V...

AllowUsersを使うパターン

「パスワード認証は許可したいんだよね」という場合はAllowUsersを使う。

/etc/ssh/sshd_config
AllowUsers usr00
AllowUsers usr01@192.168.33.101

注意しなければならないのは有効なAllowUsersを1つでも記載するといずれかのエントリでマッチしない場合に拒否されてしまう(=デフォルト拒否になる)ので、SSH接続を許可するユーザはすべて記載する必要があること。
とはいえ、設定ファイルを見ればどのユーザがSSH接続できるかわかるので安全。

DenyUsersを使うパターン

「パスワード認証は許可したいし、新規ユーザ追加時にAllowUsersは更新したくないよ」というワガママな人へ。

/etc/ssh/sshd_config
DenyUsers usr01
Match Address 192.168.33.101
    DenyUsers !usr01

192.168.33.101から接続したときのみDenyUsersを上書きしてusr01の拒否を無かったことにする。
DenyUsersにマッチしない場合は後続の評価に回されるので、パターンに記載しなければ他のユーザには影響は出ない。

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?