web-dev-qa-db-ja.com

ログイン後のSSHメッセージ、およびユーザーによるアカウントの使用の制限

私は専用サーバー上のアカウントの1つを「ブロック/制限」したいのですが、ユーザーにログインを許可してから、メッセージをポップアップして(たとえばPuTTYで)、接続を閉じます( PuTTYウィンドウが表示され、彼はそれを読むことができますが、彼はコンソールで何もできません/入力できません。

昔、私はfreebsdでそのようなことをしていたのを覚えていますが、この問題に対処する方法に関する有用な情報を見つけることができません。

助けがありますか?

4
Eska

1。/etc/ssh/sshd_configを編集し、これらのディレクティブを下部に追加します。

Match User guest
    Banner /etc/ssh/banner_guest
    DenyUsers guest
Match all
  • guestを実際のユーザー名に変更します。

2。バナーファイルSudo nano /etc/ssh/banner_guestを作成し、たとえば次のようにメッセージを入力します。

+------------------+
| Get out of here! |
+------------------+

3。SSHサーバーを再起動します。

Sudo systemctl restart ssh.service

結果は次のようになります:

enter image description here

enter image description here

編集:

上記の例に関係なくPubkeyAuthenticationが利用可能であり、ユーザーが取得する有効な/home/guest/.ssh/authorized_keysファイルがあるPermission denied (publickey).

PasswordAuthenticationが利用可能な場合、ユーザーはパスワードの入力を何度か求められ、最終的にPermission denied (password).を取得します。

Match User guest
    PasswordAuthentication yes
    PubkeyAuthentication no
    MaxAuthTries 20
    Banner /etc/ssh/banner_guest
    DenyUsers guest
Match all

私にとって最もクリーンな方法は、メッセージを表示してキックすることです。

Match User guest
    PasswordAuthentication no
    PubkeyAuthentication no
    MaxAuthTries 1
    Banner /etc/ssh/banner_guest
    DenyUsers guest
Match all

上記の結果は最初の提案の結果と同じですが、メッセージPermission denied (publickey)Server refused our key)は表示されません。

3
pa4080

/usr/sbin/nologin Shellを参照していると思います。

このような複雑な方法を実装する他の答えよりもはるかに簡単です。追加するだけです:

Match User guest
  ForceCommand /usr/sbin/nologin

そして、ユーザーはメッセージを受け取ります:

This account is currently not available.

(または/etc/nologin.txtで設定されたその他)

1
Jakuje