web-dev-qa-db-fra.com

Message SSH après la connexion, puis interdire à l'utilisateur d'utiliser son compte

Je veux "bloquer/restreindre" l'un des comptes sur mon serveur dédié, mais je veux que l'utilisateur autorise la connexion, puis je veux que le message lui apparaisse (par exemple dans PuTTY), puis ferme la connexion La fenêtre de PuTTY sera ouverte et il peut la lire, mais il ne peut rien faire/taper dans la console).

Je me souviens que dans le passé, je faisais quelque chose comme ça sur FreeBSD, mais je ne peux pas trouver d'informations utiles sur la façon d'aborder ce problème.

De l'aide?

4
Eska

1. Éditez /etc/ssh/sshd_config et ajoutez ces directives en bas:

Match User guest
    Banner /etc/ssh/banner_guest
    DenyUsers guest
Match all
  • Changez guest avec le nom d'utilisateur actuel.

2. Créez le fichier bannière: Sudo nano /etc/ssh/banner_guest et saisissez votre message à l'intérieur, par exemple:

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

3. Redémarrez le serveur SSH:

Sudo systemctl restart ssh.service

Le résultat serait:

enter image description here

enter image description here

EDIT:

Veuillez noter que, dans l'exemple ci-dessus, PubkeyAuthentication est disponible et qu'il existe un fichier /home/guest/.ssh/authorized_keys valide que l'utilisateur obtiendra Permission denied (publickey)..

Si PasswordAuthentication est disponible, on demandera plusieurs fois à l'utilisateur son mot de passe et, à la fin, on obtiendra Permission denied (password). Donc, si vous voulez le taquiner davantage, changez les directives ci-dessus de la manière suivante:

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

Pour moi, le moyen le plus propre est de montrer le message et de le frapper:

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

Le résultat de ce qui précède sera identique à celui de la première suggestion, mais le message Permission denied (publickey) (Server refused our key) n'apparaîtra pas.

3
pa4080

Je suppose que vous faites référence à /usr/sbin/nologin Shell.

C'est beaucoup plus simple que l'autre réponse en implémentant quelque chose comme cette manière plus complexe. Il suffit d'ajouter:

_Match User guest
  ForceCommand /usr/sbin/nologin
_

Et l'utilisateur recevra le message:

_This account is currently not available.
_

(ou autre configuré dans _/etc/nologin.txt_)

1
Jakuje