Comment désactiver le message de bienvenue après la connexion SSH?

32

J'ai changé /etc/issue.net, j'ai donc défini un message "personnel" après avoir tapé un nom d'utilisateur dans un terminal SSH. Maintenant, j'essaie de changer le texte de bienvenue après une connexion réussie.

J'ai trouvé beaucoup de messages sur le /etc/motdfichier, mais la partie "Bienvenue sur Ubuntu blabla versionnumber et ainsi de suite" + "* URL de documentation" n'est pas là?

Je ne veux tout simplement pas afficher les informations OS sur mon terminal SSH, je sais déjà ce que j'ai installé. :) Je veux seulement voir ma dernière connexion. Et aussi pas d'erreurs; les erreurs appartiennent à un fichier journal.

Quel fichier dois-je modifier?

Terradon
la source

Réponses:

46

Les messages de bienvenue sont générés par les fichiers résidant dans /etc/update-motd.d/.

De man update-motd:

Les scripts exécutables dans /etc/update-motd.d/* sont exécutés par pam_motd (8) en tant qu'utilisateur root à chaque connexion, et ces informations sont concaténées dans / var / run / motd.

Donc, si vous ne voulez pas les sorties de ces scripts lors de la connexion via, sshsupprimez simplement le drapeau d'exécution sur eux:

sudo chmod -x /etc/update-motd.d/*

Maintenant, si vous souhaitez afficher quelque chose que vous voulez lors de la connexion, vous avez deux options:

  • Créez un script, insérez-le /etc/update-motd.d/, rendez-le exécutable, assurez-vous également qu'il sort sur STDOUT.

  • ssha une Banneroption. Vous pouvez mettre le texte dans un fichier et le définir dans l' Banneroption afin que le contenu du fichier soit affiché lors de la connexion via ssh. Notez que cela s'applique uniquement à ssh.

    Banner /etc/foobar
    

    De man 5 sshd_config:

     Banner  The contents of the specified file are sent to the remote user
             before authentication is allowed.  If the argument is “none” then
             no banner is displayed.  This option is only available for
             protocol version 2.  By default, no banner is displayed.
    
heemayl
la source
8
Mes réponses préférées commencent toutes par "From man xyz";)
AB
Merci! Maintenant, je connais la relation entre ces fichiers. Je ne les ai pas chmodés, j'ai juste ajouté # avant certaines lignes que je ne veux pas montrer.
Terradon
@Terradon Ouais, ça ferait aussi .. je viens de généraliser la solution parce que beaucoup de gens n'aimeront pas beaucoup regarder le fichier ..
heemayl
2
Excellente solution propre car chmodingles fichiers signifient que je n'ai pas à les modifier. Agréable!
culix
... pourquoi mettent-ils autant de merde dans le motd et perdent-ils du temps à le désactiver: s Belle solution avec le chmod -x!
Motsel
4

Vous pouvez également pam_motdtout à fait nuke :

sed -i '/^[^#]*\<pam_motd.so\>/s/^/#/' /etc/pam.d/sshd

Appels PAM en pam_motdfonction des paramètres de /etc/pam.d, et généralement les entrées sont:

$ grep pam_motd /etc/pam.d -R
/etc/pam.d/login:session    optional   pam_motd.so  motd=/run/motd.dynamic noupdate
/etc/pam.d/login:session    optional   pam_motd.so
/etc/pam.d/sshd:session    optional     pam_motd.so  motd=/run/motd.dynamic noupdate
/etc/pam.d/sshd:session    optional     pam_motd.so # [1]

Le simple fait de commenter les pam_motdlignes de ces fichiers le désactivera.

muru
la source
Merci pour votre temps, mais avec "Nuke all all", je ne sais pas ce que je fais. (Je suis nouveau sur linux / ubuntu).
Terradon
1
@Terradon, vous dites à PAM de ne pas appeler pam_motd.so, c'est tout.
muru
Merci, je vais regarder de plus près ce que PAM.does exactement.
Terradon
3

Une autre façon qui ne nécessite pas de droits administratifs consiste à placer un fichier vide appelé

.hushlogin

dans votre répertoire $ HOME (en utilisant par exemple touch ~/.hushlogin).

Source qui fournit des informations supplémentaires, y compris un éventuel inconvénient de cette approche : https://debian-administration.org/article/546/Giving_yourself_a_quieter_SSH_login

Eph
la source
Élégant, simple, ne plaisante pas avec les autres utilisateurs, non sudo. Merci.
Jan Werkhoven