yunohost ne permet plus d’autoriser ssh

Mais on peut passer par le panneau d’administration
This commit is contained in:
Matthieu Dubuget 2021-07-10 18:33:48 +02:00 committed by GitHub
parent 4f83c42e26
commit a0e267e601
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -13,20 +13,20 @@ page-toc:
## Quest-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](https://mobaxterm.mobatek.net/download-home-edition.html) (après l'avoir lancé, cliquer sur Session puis 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). Cest aussi une commande disponible de base dans les terminaux de GNU/Linux et macOS. Sous Windows, il vous faudra utiliser le logiciel [MobaXterm](https://mobaxterm.mobatek.net/download-home-edition.html) (après lavoir 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é 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.
Linterface en ligne de commande (CLI) est, en informatique, la manière originale (et plus technique) dinteragir avec un ordinateur comparé 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.
## Quelle adresse utiliser pour se connecter au serveur ?
Si vous hébergez votre serveur **à la maison** (par ex. Raspberry Pi ou OLinuXino ou vieil ordinateur)
- vous devriez pouvoir vous connecter à la machine en utilisant `yunohost.local`.
- si `yunohost.local` ne fonctionne pas, il vous faut [trouver l'IP locale de votre serveur](/finding_the_local_ip).
- si vous avez installé votre serveur à la maison mais essayez d'y accéder depuis l'extérieur du réseau local, assurez-vous d'avoir bien configuré une redirection de port pour le port 22
- si `yunohost.local` ne fonctionne pas, il vous faut [trouver lIP locale de votre serveur](/finding_the_local_ip).
- si vous avez installé votre serveur à la maison mais essayez dy accéder depuis lextérieur du réseau local, assurez-vous davoir bien configuré une redirection de port pour le port 22
S'il s'agit d'une machine distante (VPS), votre fournisseur devrait vous avoir communiqué l'IP de votre machine.
Sil sagit dune machine distante (VPS), votre fournisseur devrait vous avoir communiqué lIP 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.
Dans tous les cas, si vous avez déjà configuré un nom de domaine qui pointe sur lIP appropriée, il est plus pratique dutiliser `votre.domaine.tld` plutôt que ladresse IP.
## Identifiants pour se connecter
@ -37,7 +37,7 @@ Dans tous les cas, si vous avez déjà configuré un nom de domaine qui pointe s
### APRÈS la post-installation
Durant la postinstallation, vous avez défini un mot de passe d'administration. C'est ce mot de passe qui devient le nouveau mot de passe pour les utilisateurs `root` et `admin`. De plus, **la connexion en SSH avec l'utilisateur `root` est désactivée et il vous faut utiliser l'utilisateur `admin` !**. 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é ou le serveur LDAP est inactif et l'utilisateur admin ne fonctionne plus).
Durant la postinstallation, vous avez défini un mot de passe dadministration. Cest ce mot de passe qui devient le nouveau mot de passe pour les utilisateurs `root` et `admin`. De plus, **la connexion en SSH avec lutilisateur `root` est désactivée et il vous faut utiliser lutilisateur `admin` !**. Lexception à cette règle est quil 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é ou le serveur LDAP est inactif et lutilisateur admin ne fonctionne plus).
## Se connecter
@ -51,7 +51,7 @@ ssh root@11.22.33.44
ssh admin@11.22.33.44
```
Ou bien en utilisant le nom de domaine plutôt que l'IP (plus pratique) :
Ou bien en utilisant le nom de domaine plutôt que lIP (plus pratique) :
```bash
ssh admin@votre.domaine.tld
@ -59,29 +59,22 @@ ssh admin@votre.domaine.tld
ssh admin@yunohost.local
```
Si vous avez changé le port SSH, il faut rajouter l'option `-p <numerodeport>` à la commande, par ex. :
Si vous avez changé le port SSH, il faut rajouter loption `-p <numerodeport>` à la commande, par ex. :
```bash
ssh -p 2244 admin@votre.domaine.tld
```
!!! Si vous êtes connecté en tant qu'`admin` 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`.
!!! Si vous êtes connecté en tant qu`admin` 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`.
## Quels utilisateurs ?
Par défaut, seulement l'utilisateur `admin` peut se logger en SSH sur une instance YunoHost.
Par défaut, seul lutilisateur `admin` peut se logger en SSH sur une instance YunoHost.
Les utilisateurs YunoHost créés via l'interface d'administration sont gérés par la base de donnée LDAP. Par défaut, ils ne peuvent pas se connecter en SSH pour des raisons de sécurité. Si vous avez absolument besoin qu'un utilisateur dispose d'un accès SSH, vous pouvez utiliser la commande :
```bash
yunohost user ssh allow <username>
```
Les utilisateurs YunoHost créés via linterface dadministration sont gérés par la base de donnée LDAP. Par défaut, ils ne peuvent pas se connecter en SSH pour des raisons de sécurité. Si vous avez absolument besoin quun utilisateur dispose dun accès SSH, vous pouvez leur octroyer ce droit depuis linterface dadministration~: dans le panneau de gestion des utilisateurs, il y a un bouton `Gérer les groupes et les autorisations`. Pour quun utilisateur ai le droit de se connecter en SSH, il suffit de lui ajouter la permission `SSH`.
De même, il est possible de supprimer l'accès SSH à un utilisateur avec la commande :
```bash
yunohost user ssh disallow <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 :
Enfin, il est possible dajouter, de supprimer et de lister des clés SSH, pour améliorer la sécurité de laccès SSH, avec les commandes :
```bash
yunohost user ssh add-key <username> <key>
yunohost user ssh remove-key <username> <key>
@ -96,9 +89,9 @@ Une discussion plus complète de la sécurité et de SSH peut être trouvée sur
## La ligne de commande Yunohost
!!! 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](https://doc.ubuntu-fr.org/tutoriel/console_ligne_de_commande) ou [celui-ci (en)](http://linuxcommand.org/). Mais soyez rassuré qu'il n'y a pas besoin d'être un expert pour commencer à l'utiliser !
!!! 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](https://doc.ubuntu-fr.org/tutoriel/console_ligne_de_commande) ou [celui-ci (en)](http://linuxcommand.org/). Mais soyez rassuré quil ny a pas besoin dêtre un expert pour commencer à lutiliser !
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 en depuis l'utilisateur `root`, ou bien depuis l'utilisateur `admin` en précédant la commande de `sudo`. (ProTip™ : il est possible de devenir `root` via la commande `sudo su` en tant qu'`admin`.)
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 en depuis lutilisateur `root`, ou bien depuis lutilisateur `admin` en précédant la commande de `sudo`. (ProTip™ : il est possible de devenir `root` via la commande `sudo su` en tant qu`admin`.)
Les commandes YunoHost ont ce type de structure :
@ -109,7 +102,7 @@ yunohost app install wordpress --label Webmail
categorie 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 :
Nhésitez pas à naviguer et demander des informations à propos dune catégorie ou action donnée via loption `--help`. Par exemple, ces commandes :
```bash
yunohost --help
@ -117,4 +110,4 @@ 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.
vont successivement lister toutes les catégories disponibles, puis les actions de la catégorie `user`, puis expliquer comment utiliser laction `user create`. Vous devriez remarquer que larbre des commandes YunoHost suit une structure similaire aux pages de la webadmin.