Comment activer les SSH sur un Mac à partir de la ligne de commande
Tous les Macs modernes fonctionnant sous MacOS ou Mac OS X sont livrés avec SSH pré-installé par défaut, mais le démon SSH (Secure Shell) est également désactivé par défaut. Les utilisateurs avancés de Mac peuvent apprécier de savoir que la possibilité d'activer et de désactiver SSH est entièrement disponible en ligne de commande de Mac OS, ce qui permet d'autoriser ou d'interdire les connexions à distance sur un ordinateur de manière simple. Il n'est pas nécessaire de charger, télécharger ou compiler des fichiers, pour activer SSH depuis le terminal sur n'importe quel Mac, il suffit d'exécuter une commande de configuration du système, comme nous le montrerons dans ce tutoriel.
Petite remarque : ce guide s'applique à toutes les versions de MacOS et de Mac OS X, mais s'adresse en fait aux utilisateurs plus avancés qui passent beaucoup de temps dans le Terminal. Si vous souhaitez activer et désactiver SSH et éviter la ligne de commande, vous pouvez le faire en activant la connexion à distance dans le panneau de préférences Partage sur un Mac, ou arrêter le serveur en le laissant non coché. Si vous n'utilisez pas régulièrement ssh, il n'y a aucune raison d'activer le serveur ssh sur un Mac.
Comment vérifier si la connexion à distance SSH est activée dans Mac OS via le terminal
Vous voulez vérifier l'état actuel des sciences humaines sur un Mac ? En utilisant la chaîne de commande systemsetup, nous pouvons rapidement déterminer si SSH et la connexion à distance sont actuellement activés sur un Mac :
sudo systemsetup -getremotelogin
Si la connexion à distance et SSH est actuellement activée, la commande et le rapport indiqueront "Connexion à distance" : On" alors que si SSH est désactivé et dans l'état par défaut de macOS, il indiquera "Remote Login : Désactivé".
Activer la SSH sur Mac à partir de la ligne de commande avec la configuration du système
Pour activer rapidement le serveur SSH et autoriser les connexions ssh entrantes sur le Mac actuel, utilisez le drapeau -setremotelogin avec la configuration du système comme ceci :
sudo systemsetup -setremotelogin on
sudo est nécessaire car la commande de configuration du système nécessite des privilèges d'administrateur, tout comme lorsque vous activez la connexion à distance à partir des préférences de partage sur un Mac pour activer les serveurs shell sécurisés.
Il n'y a pas de confirmation ou de message indiquant que la connexion à distance et SSH a été activée, mais vous pouvez utiliser le drapeau -getmorelogin mentionné ci-dessus pour vérifier que le serveur SSH fonctionne bien. Et oui, l'utilisation de -setremotelogin s'applique à l'activation des serveurs ssh et sftp sur le Mac.
Une fois ssh activé, tout compte utilisateur ou toute personne ayant un login sur le Mac actuel peut y accéder à distance en utilisant la commande ssh qui vise l'adresse IP du Mac comme cela :
ssh iphonologie@192.168.1.115
Une fois connecté, l'utilisateur aura un accès à distance à l'ordinateur via la ligne de commande, et s'il dispose d'un compte ou d'un mot de passe d'administrateur, il aura également un accès complet à l'administration à distance.
Désactiver le SSH sur Mac OS avec la configuration système
Si vous souhaitez désactiver les serveurs SSH en ligne de commande et empêcher ainsi les connexions à distance, il suffit d'activer ou de désactiver le drapeau -setremotelogin de la configuration du système :
sudo systemsetup -setremotelogin off
Là encore, sudo est nécessaire pour désactiver SSH et les serveurs ssh et sftp.
Lorsque vous exécutez la commande avec succès, on vous demandera : "Voulez-vous vraiment désactiver la connexion à distance ? Si vous le faites, vous perdrez cette connexion et ne pourrez la réactiver que localement sur le serveur (oui/non)" ? . Tapez donc "oui" pour confirmer, ce qui désactivera la connexion SSH et déconnectera également toute connexion SSH active au Mac en question. Si vous voulez éviter d'avoir à taper oui/non, peut-être pour l'inclure dans un script de configuration ou autre, vous pouvez utiliser le drapeau -f pour contourner la question de cette manière :
sudo systemsetup -f -setremotelogin off
De même, vous pouvez également utiliser -f pour ignorer les invites concernant l'activation des sciences humaines.
systemsetup -f -setremotelogin on
Notez que si vous désactivez SSH ou si vous activez SSH à partir de la ligne de commande, le panneau de préférences du système de connexion à distance dans l'interface graphique de Mac OS X sera également ajusté pour refléter le changement en conséquence.