Session SSH remplacer motd par fastfetch

Session SSH remplacer motd par fastfetch

Notes

Pour Debian et Arch, la méthode /etc/profile.d fonctionne sur les deux, avec quelques différences pour le motd.

1. Afficher fastfetch (identique sur les deux)

Crée /etc/profile.d/fastfetch.sh :

1
2
3
4
# Uniquement en session SSH interactive
if [ -n "$SSH_CONNECTION" ] && [ -t 1 ] && command -v fastfetch >/dev/null 2>&1; then
    fastfetch
fi

Les sessions SSH interactives sont des shells de login, donc /etc/profile charge bien ce dossier avec bash. Si tu utilises zsh, il faut mettre le bloc dans /etc/zsh/zprofile (ou ~/.zprofile).

2. Désactiver le motd

  • Debian : le motd est affiché par PAM. Commente la ligne session optional pam_motd.so motd=/run/motd.dynamic et celle avec noupdate dans /etc/pam.d/sshd, ou plus simplement vide le fichier :

    1
    
      sudo truncate -s 0 /etc/motd
    

    Debian laisse PrintMotd no dans sshd_config car PAM s’en charge.

  • Arch : pas de PAM motd dans la config SSH par défaut, c’est sshd lui-même qui affiche /etc/motd. Mets PrintMotd no dans /etc/ssh/sshd_config, puis :

    1
    
      sudo systemctl reload sshd
    

    Ou vide simplement /etc/motd.

3. Installation de fastfetch

  • Debian 13 (trixie) : sudo apt install fastfetch. Sur Debian 12, il n’est pas dans les dépôts officiels, il faut le paquet .deb des releases GitHub.
  • Arch : sudo pacman -S fastfetch

Si tu gères plusieurs machines, tu peux déployer le même fichier fastfetch.sh partout (Ansible, ou un simple scp), il est compatible avec les deux distributions.

Script pour automatiser la mise en plce sur Debian

1
2
3
4
5
6
7
8
9
sudo apt install fastfetch -y

echo '# Uniquement en session SSH interactive
if [ -n "$SSH_CONNECTION" ] && [ -t 1 ] && command -v fastfetch >/dev/null 2>&1; then
    fastfetch
fi
' | sudo tee /etc/profile.d/fastfetch.sh

sudo truncate -s 0 /etc/motd