Mémo Pi: SSH, log2ram et tmpfs

Table des Matières

Ce qui est chouette avec un Raspberry Pi c’est qu’on peut en faire un tas d’utilisation différentes. Pour ma part j’en possède deux.
Un dans le salon pour la lecture multimédia (LibreElec avec mes médias dispo sur mon PC grâce à miniDLNA) et un dans mon bureau qui me sert de petit serveur @Home.

Vu que je ne suis pas un expert en la matière il m’arrive souvent de faire de petites boulettes avec mon serveur et de me retrouver avec un système bancale pendant quelques heures, ne pas pouvoir s’y connecter en SSH etc.

Alors je vais essayer de poster régulièrement des petites billets sur des mémos pour le Pi. Histoire de ne pas oublier mes conneries.

SSH, Pubkey, Git et bordel

La connexion SSH est une pierre angulaire pour un serveur headless, sans écran ni clavier. C’est la porte d’entrée principale pour l’administration et bien entendu autant qu’elle soit sécurisée un max.
Pour cela j’utilise la connexion via mes différentes clés publiques SSH, rien qu’avec ça j’assure (il me semble) une protection contre les connexions extérieures.

Le souci que j’ai rencontré avec SSH est quand j’ai voulu installer un gestionnaire git (Gitea) sur mon serveur. Comme un sagouin je l’avais installé et paramétrer pour que je puisse utiliser SSH avec git sur mon nom d’utilisateur admin. Grave erreur !

Car en faisant cela je pouvais bien utiliser git avec ssh mais lorsque je souhaitais me connecter au système pour de la maintenance je tombais sur le message suivant :

PTY allocation request failed on channel 0 Hi there, You’ve successfully authenticated, but Gitea does not provide shell access. If this is unexpected, please log in with password and setup Gogs under another user. Connection to XXX.XXX.XXX.XXX closed.

Hum ? OK donc je suis dans la grosse merde car je n’ai plus aucun moyen de me connecter à Raspbian…

À force de chercher sur le net j’ai réussi à repasser en login ssh avec mot de passe, supprimer Gitea puis le réinstaller avec un utilisateur isolé git pour ne pas être emmerdé.
Ainsi je conserve mon utilisateur admin pour l’administration et git pour le git. Chacun chez soi et plus de soucis à se faire.

La commande ssh-copy-id permet d’ajouter la clé ssh de son client au serveur pour une connexion automatique par la suite.

Log2ram

Deuxième point l’écriture des logs, un gros mangeur d’écriture qui sur des Raspberry avec un OS sur carte SD sont de véritables tueurs de supports. La solution est on-ne-peut plus simple : Log2Ram

Le script s’installe en deux commandes et on a alors une écriture beaucoup moins soutenue des logs sur le système puisqu’ils sont une première fois écris en RAM jusqu’à une certaine quantité pour être déversé en tas par la suite sur la carte SD.

Un utilitaire à absolument utiliser sur un Raspberry !

Tmpfs

Cas un peu similaire à Log2Ram, Tmpfs est un utilitaire permettant de créer des partitions en RAM pour économiser là-encore l’écriture sur la carte SD. Typiquement il est judicieux d’en créer pour les répertoires temporaires qui sont de gros consommateurs.

# à ajouter au fichier /etc/fstab

tmpfs /tmp tmpfs defaults,noatime,nosuid,size=10m 0 0
# La taille (size=10m) est à changer en fonction de vos besoins

tmpfs /var/tmp tmpfs defaults,noatime,nosuid,size=10m 0 0

Et voilà pour aujourd’hui. Avec un ça Raspbian est propre, allégée en écriture et relativement sécurisée pour les connexions SSH.

La prochaine fois ce sera peut-être au tour du serveur web et des différents logiciels installés dessus.