đ ïž SSH et la ligne de commande
Quâest-ce que SSH ?â
SSH est un acronyme pour Secure Shell, et désigne un protocole qui permet de contrÎler et administrer à distance une machine via la ligne de commande (CLI). C'est aussi une commande disponible de base dans les terminaux de GNU/Linux et macOS. Sous Windows, il vous faudra utiliser le logiciel MobaXterm (aprÚs l'avoir lancé, cliquer sur Session puis SSH).
L'interface en ligne de commande (CLI) est, en informatique, la maniÚre originale (et plus technique) d'interagir avec un ordinateur, comparée aux interfaces graphiques. La ligne de commande est généralement considérée comme plus complÚte, puissante et efficace que les interfaces graphiques, bien que plus difficile à apprendre.
Comment se connecter ?â
Identifiants avant la postinstallâ
- If you are installing at home, the default credentials are login:
rootand password:yunohost(or1234if you flashed an armbian image) - If you are installing a remote server (VPS), your provider should have communicated you the login and password (or allowed you to configure an SSH key)
Identifiants aprĂšs la postinstallâ
Durant la post-installation, vous avez dĂ©fini un compte et un mot de passe d'administration. Le compte dĂ©fini lors de la post-installation vous permet de vous connecter en SSH. De plus, le mot de passe dĂ©fini dans la post-installation devient le nouveau mot de passe pour l'utilisateur root. Enfin, la connexion en SSH avec l'utilisateur root est dĂ©sactivĂ©e et il vous faut utiliser le compte dĂ©fini durant la post-installation !. L'exception Ă cette rĂšgle est qu'il reste possible de se logger en root depuis le rĂ©seau local - ou depuis une console en direct sur la machine (ce qui peut ĂȘtre utile dans l'Ă©ventualitĂ© oĂč le serveur LDAP est inactif et l'utilisateur admin ne fonctionne plus).
Si vous ĂȘtes connectĂ© en tant avec le compte d'administration et souhaitez devenir root pour plus de confort (par exemple, ne pas avoir Ă taper sudo Ă chaque commande), vous pouvez devenir root en tapant sudo su ou sudo -i.
Adresse Ă utiliserâ
Si vous hébergez votre serveur à la maison (par ex. Raspberry Pi ou OLinuXino ou vieil ordinateur)
- you should be able to connect to your server using
yunohost.local(oryunohost-2.local, depending on how many servers are on your network). - if
yunohost.localand the like do not work, your need to find out the local IP of the server. - if you installed a server at home but are attempting to connect from outside your local network, make sure port 22 is correctly forwarded to your server.
S'il s'agit d'une machine distante (VPS), votre fournisseur devrait vous avoir communiqué l'IP de votre machine.
Dans tous les cas, si vous avez déjà configuré un nom de domaine qui pointe sur l'IP appropriée, il est plus pratique d'utiliser votre.domaine.tld plutÎt que l'adresse IP.
Se connecterâ
Ci-dessous quelques exemples de commande SSH typiques :
# before the postinstall:
ssh root@11.22.33.44
# or after the postinstall:
ssh username@11.22.33.44
# using the domain name instead of the IP (more convenient)
ssh username@your.domain.tld
# using the local domain name instead of the IP (for local access)
ssh username@yunohost.local
# if you changed the SSH port
ssh -p 2244 username@your.domain.tld
fail2ban bannira votre IP pendant 10 minutes si vous échouez plus de 10 fois à vous identifier. Pour débannir une IP, vous pouvez regarder la page sur Fail2Ban.
Autoriser un utilisateur YunoHost standardâ
Par défaut, seuls les comptes dans le groupe admins peuvent se connecter en SSH et SFTP sur une instance YunoHost. Les comptes hors de ce groupe ne peuvent se connecter pour des raisons de sécurité. Avec le systÚme de permissions il est possible d'autoriser la connexion en SFTP ou si c'est vraiment nécessaire en SSH.
Faites attention Ă qui vous donnez accĂšs Ă SSH. Cela augmente encore plus la surface d'attaque disponible pour un utilisateur malveillant.
- Depuis la webadmin
- Depuis la ligne de commande
Se rendre dans Utilisateurs > Gérer les groupes et les autorisations
Ă partir de lĂ , il est possible d'ajouter les permissions SFTP ou SSH Ă un utilisateur ou un groupe au choix.
Si vous souhaitez ajouter une clé publique SSH à l'utilisateur, vous devez le faire en ligne de commande, l'interface web ne proposant pas encore cette fonctionnalité.
Pour autoriser un utilisateur ou un groupe à accéder en SFTP ou en SSH :
# SFTP
yunohost user permission add sftp <username>
# SSH
yunohost user permission add ssh <username>
Pour enlever la permission :
# SFTP
yunohost user permission remove sftp <username>
# SSH
yunohost user permission remove ssh <username>
Enfin, il est possible d'ajouter, de supprimer et de lister des clés SSH, pour améliorer la sécurité de l'accÚs SSH, avec les commandes :
yunohost user ssh add-key <username> <key>
yunohost user ssh remove-key <username> <key>
yunohost user ssh list-keys <username>
SSH et sĂ©curitĂ©â
Une discussion plus complĂšte sur la sĂ©curitĂ© de SSH peut ĂȘtre trouvĂ©e sur la page dĂ©diĂ©e.
La ligne de commandeâ
Fournir un tutoriel complet sur la ligne de commande est bien au-delĂ du cadre de la documentation de YunoHost : pour cela, rĂ©fĂ©rez-vous Ă des tutoriels comme celui-ci ou celui-ci (en). Mais soyez rassurĂ©, il n'y a pas besoin d'ĂȘtre un expert pour commencer Ă l'utiliser !
La commande yunohostâ
La commande yunohost peut ĂȘtre utilisĂ©e pour administrer votre serveur ou rĂ©aliser les mĂȘmes actions que celles disponibles sur la webadmin. Elle doit ĂȘtre lancĂ©e depuis l'utilisateur root, ou bien depuis un compte membre du groupe admins en prĂ©cĂ©dant la commande de sudo. (ProTipâą : il est possible de devenir root via la commande sudo su en tant que membre du group admins.)
Les commandes YunoHost ont ce type de structure :
yunohost app install wordpress --label Webmail
^ ^ ^ ^
| | | |
category action argument options
N'hésitez pas à naviguer et demander des informations à propos d'une catégorie ou action donnée via l'option --help. Par exemple, ces commandes :
yunohost --help
yunohost user --help
yunohost user create --help
vont successivement lister toutes les catégories disponibles, puis les actions de la catégorie user, puis expliquer comment utiliser l'action user create. Vous devriez remarquer que l'arbre des commandes YunoHost suit une structure similaire aux pages de la webadmin.
La commande yunopasteâ
Cette commande est utile lorsque vous voulez communiquer Ă une autre personne le retour d'une commande.
Exemple :
yunohost diagnosis show | yunopaste
The ynh-vpnclient-loadcubefile.sh commandâ
This command is only available if you have the VPN Client application installed. You can use it to load a new .cube in case you can't get to the VPN Client interface to do so.
ynh-vpnclient-loadcubefile.sh -u <username> -p <password> -c <path>.cube
Quelques commandes utilesâ
Si votre interface web d'administration indique que l'API est injoignable, essayez de démarrer yunohost-api :
systemctl start yunohost-api
Si vous ne parvenez plus Ă vous connecter avec l'utilisateur admin via SSH et via l'interface web, le service slapd est peut-ĂȘtre Ă©teint, essayez de le redĂ©marrer :
systemctl restart slapd
Si vous avez des configurations modifiées manuellement et souhaitez connaßtre les modifications :
yunohost tools regen-conf --with-diff --dry-run