Aller au contenu principal

Accéder en SSH à un Raspberry Pi depuis votre Mac

Le terminal et les copies de fichiers pour l'entretien courant, un tunnel vers Home Assistant et le bureau du Pi quand il le faut, dans une seule app Mac.

Par Lucas Russo, développeur de SSHive · Mis à jour le

Un Raspberry Pi finit presque toujours par faire tourner quelque chose dont la maison dépend : Pi-hole, Home Assistant, un petit serveur web, un script lancé à heure fixe. L'entretenir depuis un Mac revient à quatre tâches : un shell pour apt et les fichiers de configuration, un moyen de copier des fichiers, un coup d'œil au bureau de temps en temps, et un accès aux pages web qu'il sert sans les ouvrir à tout le réseau. SSHive réunit les quatre dans une fenêtre, le Pi étant enregistré comme profil. Le terminal, les transferts de fichiers et un tunnel local sont gratuits, et un tunnel suffit justement pour le port 8123 de Home Assistant. Seul le bureau, en VNC, demande la version Pro.

Première connexion : activer SSH

SSH est désactivé sur une installation neuve de Raspberry Pi OS. Le plus simple est de l'activer avant le premier démarrage : dans Raspberry Pi Imager, rubrique Customisation > Remote Access, activez Enable SSH et choisissez un nom d'utilisateur et un mot de passe. Sur un Pi déjà en service, passez par sudo raspi-config, puis Interface Options > SSH, ou par Control Centre > Interfaces sur le bureau. Une installation neuve répond au nom d'hôte raspberrypi : depuis le Mac, ping raspberrypi.local doit donc répondre. Dans SSHive, créez une Nouvelle connexion avec raspberrypi.local comme hôte (ou l'adresse que votre box a donnée au Pi), le nom d'utilisateur choisi dans Imager et son mot de passe. Donnez-lui un nom que vous reconnaîtrez dans la barre latérale : le Pi est désormais à un clic.

Remplacer le mot de passe par une clé

Un mot de passe convient pour la première connexion ; une clé vaut mieux pour toutes les suivantes. Dans SSHive, ouvrez Paramètres > Clés SSH et choisissez Générer une clé (Ed25519 par défaut). La session du Pi ouverte, choisissez Installer sur l'hôte : SSHive ajoute la clé publique au fichier ~/.ssh/authorized_keys du Pi par cette session. Modifiez le profil du Pi pour qu'il se connecte avec la clé, puis reconnectez-vous pour vérifier. Le guide des clés SSH reprend ces étapes avec le Terminal de macOS. Ensuite seulement, désactivez les connexions par mot de passe sur le Pi, en gardant votre session ouverte au cas où : echo "PasswordAuthentication no" | sudo tee /etc/ssh/sshd_config.d/01-no-passwords.conf && sudo systemctl restart ssh La commande sudo sshd -T | grep -i passwordauthentication doit alors afficher passwordauthentication no.

Home Assistant par un tunnel

Home Assistant répond sur le port 8123. Plutôt que d'ouvrir ce port sur votre box, faites-le passer par la connexion SSH. Modifiez le profil du Pi et ajoutez un tunnel dans Tunnels locaux (-L) : port local 8123, hôte distant localhost, port distant 8123. Connectez-vous, puis ouvrez http://localhost:8123 dans le navigateur du Mac. La page circule dans la connexion SSH, et rien de plus n'est exposé sur le réseau. Ce tunnel fait partie de la version gratuite. Un second sur le même profil, par exemple du port local 8080 vers le port 80 pour la page d'administration de Pi-hole, demande la version Pro.

Le bureau du Pi en VNC

Raspberry Pi OS fournit wayvnc comme serveur VNC. Activez-le par sudo raspi-config, Interface Options > VNC ; un client s'y connecte ensuite avec le nom d'utilisateur et le mot de passe du Pi. L'app Mac gère l'authentification VeNCrypt / X.509 qu'utilise wayvnc : créez un profil VNC qui pointe vers le Pi et saisissez ces identifiants. VNC fait partie de la version Pro. Sur un réseau dont vous n'êtes pas sûr, faites-le passer par SSH : ajoutez au profil du Pi un tunnel local du port 15900 vers localhost:5900, et pointez le profil VNC sur localhost:15900. Le guide VNC traite des autres serveurs VNC. Une limite à connaître : l'app iPhone et iPad ne gère pas VeNCrypt / X.509, donc un Pi qui l'exige n'est joignable que depuis le Mac.

Ce qui est gratuit ici, et ce qui demande Pro

Tout ce qui précède la partie VNC fonctionne avec la version gratuite : SSH, SFTP avec des envois jusqu'à 10 Mo par fichier, un tunnel local sur le profil, 5 profils enregistrés et 2 sessions SSH simultanées. SSHive Pro ajoute le bureau en VNC, davantage de tunnels, des envois sans limite de taille pour une image disque ou une sauvegarde, et le broadcast quand vous avez plusieurs Pi. C'est un achat unique de 14,99 €, valable sur Mac, iPhone et iPad.

Questions fréquentes

Mon Pi ne répond pas à raspberrypi.local+
Le nom en .local vient du mDNS : le Pi s'annonce avec avahi-daemon, et macOS le résout par Bonjour. Sur le Pi, systemctl status avahi-daemon doit indiquer active. Sur le Mac, dns-sd -G v4 raspberrypi.local montre si le nom se résout, et vers quelle adresse. Si vous avez changé le nom d'hôte dans Imager, utilisez celui-là. À défaut, retrouvez le Pi dans la liste des appareils connectés de votre box et mettez son adresse IP dans le profil.
Est-ce compatible avec un Raspberry Pi 5 ou un Pi Zero ?+
Oui. SSHive parle SSH, SFTP et VNC à ce qui tourne en face, le modèle n'a donc pas d'importance : un Pi 5, un Pi 4 ou un Pi Zero 2 W sous Raspberry Pi OS se comportent de la même façon. Ce qui diffère entre les versions, c'est le serveur VNC. Les versions plus anciennes, sur le bureau X11, utilisent RealVNC Server, dont l'authentification RSA-AES est elle aussi gérée par l'app Mac.
Puis-je aussi joindre le Pi depuis mon iPhone ?+
Oui, pour le terminal et les fichiers : l'app iPhone et iPad fait du SSH et du SFTP, et le même achat Pro débloque les deux apps. Pour le bureau, voyez la remarque sur VeNCrypt / X.509 plus haut.

Essayer SSHive gratuitement sur macOS

Obtenez le client tout-en-un SSH, SFTP, RDP et VNC pour Mac. Téléchargement gratuit, sans inscription.