From Mageia wiki
Jump to: navigation, search
m (Charger votre clef SSH sur le serveur: -retour ligne)
m (Agent SSH)
 
(6 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{Bandeau_multi-langues-fr|[[Packagers_ssh|English]] ; [[Empaqueteur_ssh-fr|Français]] ; }}
+
[[Category:Contributors]]
 +
[[Category:Packaging]]
 +
 
 +
{{Multi language banner-fr|[[Packagers_ssh|English]] ; [[Empaqueteur_ssh-fr|Français]] ; }}
 
[[Main_Page | Accueil [en]]] → [[Accueil-fr | Accueil]] → [[Contribuer-fr | Équipes]] → [[Equipe_Packageurs-fr | Packageurs]] → [[Outils_Empaqueteur_Mageia-fr | Les outils d'empaquetage Mageia]] → [[Empaqueteur_ssh-fr | Empaqueteur ssh]] <hr>
 
[[Main_Page | Accueil [en]]] → [[Accueil-fr | Accueil]] → [[Contribuer-fr | Équipes]] → [[Equipe_Packageurs-fr | Packageurs]] → [[Outils_Empaqueteur_Mageia-fr | Les outils d'empaquetage Mageia]] → [[Empaqueteur_ssh-fr | Empaqueteur ssh]] <hr>
  
{{warning|Cette page est en cours de traduction. N'hésitez pas continuer la traduction, à la relire ou la corriger !}}
+
{{warning-fr|Cette page a été traduite de l'anglais, n'hésitez pas à la relire ou la corriger !}}
  
= Introduction =
+
== Introduction ==
  
Après avoir rejoint un groupe de mainteneur sur Mageia, vous allez vraisemblablement avoir besoin de droit d'écriture pour soumettre vos paquets et les sources à SVN et au système de construction des paquets (au début vous ne pourrez pas soumettre vos paquets avant la fin de votre période de formation ainsi que l’approbation de votre tuteur à vous donner les droits complet de mainteneur). Les changements peuvent être opéré en utilisant le protocole internet [http://www.openssh.com/ SSH (en)]. Cet article devrait vous aider avec le paramétrage de base pour SSH.
+
Après avoir rejoint un groupe de mainteneur sur Mageia, vous allez vraisemblablement avoir besoin de droit d'écriture pour soumettre vos paquets et les sources à SVN et au système de construction des paquets (au début vous ne pourrez pas soumettre vos paquets avant la fin de votre période de formation ainsi que l’approbation de votre tuteur à vous donner les droits complets de mainteneur). Les changements peuvent être opéré en utilisant le protocole internet [http://www.openssh.com/ SSH (en)]. Cet article devrait vous aider avec le paramétrage de base pour SSH.
  
= Créer une clef SSH =
+
== Créer une clef SSH ==
  
 
Avant tout, vous devez créer une clef d’authenticité RSA pour SSH :
 
Avant tout, vous devez créer une clef d’authenticité RSA pour SSH :
Line 18: Line 21:
 
* ''~/.ssh/id_rsa.pub'', qui contient la clef '''public''' du protocole RSA pour l'identification distant.
 
* ''~/.ssh/id_rsa.pub'', qui contient la clef '''public''' du protocole RSA pour l'identification distant.
  
Lorsque vous générerez une clef SSH, il vous sera demandé si vous souhaitez utiliser un mot de passe, c'est vraiment recommandé. Gardez à l'esprit qu'il n'y a aucun moyen de récupérer ce mot de passe si vous le perdez alors soyez sûr d'en choisir un fort et facile pour vous de vous en souvenir.
+
Lorsque vous générerez une clef SSH, il vous sera demandé si vous souhaitez utiliser un mot de passe, c'est vraiment recommandé. Gardez à l'esprit qu'il n'y a aucun moyen de récupérer ce mot de passe si vous le perdez, alors soyez sûr d'en choisir un fort et facile pour vous de vous en souvenir.
  
 
Le fichier ''./.ssh.id_rsa'' ne doit être lisible par aucun autre utilisateur que vous, si cette condition n'est pas satisfaite, il sera ignoré par le logiciel ssh-agent et vous ne pourrez pas vous connecter à distance ni à SVN ni au système de construction des paquets.  
 
Le fichier ''./.ssh.id_rsa'' ne doit être lisible par aucun autre utilisateur que vous, si cette condition n'est pas satisfaite, il sera ignoré par le logiciel ssh-agent et vous ne pourrez pas vous connecter à distance ni à SVN ni au système de construction des paquets.  
  
Pour plus d'information, référez vous à la page man de ssh-keygen.
+
Pour plus d'information, référez-vous à la page man de ssh-keygen.
  
= Charger votre clef SSH sur le serveur =
+
== Charger votre clef SSH sur le serveur ==
  
 
Veuillez vous assurer que votre compte à [[Empaqueteurs,_les_bons_débuts-fr#Obtenir_les_droit_de_soumettre_pour_votre_compte|les droits au niveau apprenti]].
 
Veuillez vous assurer que votre compte à [[Empaqueteurs,_les_bons_débuts-fr#Obtenir_les_droit_de_soumettre_pour_votre_compte|les droits au niveau apprenti]].
  
Vous devez chargez votre clef public (le fichier ~/.ssh/rsa_id.pub) sur le serveur de Mageia avec d'être autorisé à vous connecter au SVN. Ça ce fait à via https://identity.mageia.org/ .
+
Vous devez charger votre clef publique (le fichier ~/.ssh/rsa_id.pub) sur le serveur de Mageia avec d'être autorisé à vous connecter au SVN. Ça ce fait à via https://identity.mageia.org/.
  
Pour ce faire, lorsque vous êtes connecté sur https://identity.mageia.org/, ajoutez l'attribut ''sshPublicKey'' avec pour contenu votre clef public (qui est le contenu du fichier ''~/.ssh/id_rsa.pub'' ou ''~/.ssh/id_dsa.pub'').  
+
Pour ce faire, lorsque vous êtes connecté sur https://identity.mageia.org/, ajoutez l'attribut ''sshPublicKey'' avec, pour contenu, votre clef public (qui est le contenu du fichier ''~/.ssh/id_rsa.pub'' ou ''~/.ssh/id_dsa.pub'').  
  
Une fois votre clef SSH ajoutée, l'attente pour activer la clef sur le serveur peut prendre jusqu'à dix minutes.
+
Une fois votre clef SSH ajoutée, l'attente pour activer la clef sur le serveur peut prendre jusqu'à dix minutes.
  
 
Pour vérifier que votre clef a correctement été chargée, essayez de vous connecter avec ssh sur ''svn.mageia.org''
 
Pour vérifier que votre clef a correctement été chargée, essayez de vous connecter avec ssh sur ''svn.mageia.org''
  $ ssh login@svn.mageia.org
+
 
 +
{{pre-fr|$ ssh login@svn.mageia.org}}
 +
 
 
avec ''login'' remplacé par votre identifiant.
 
avec ''login'' remplacé par votre identifiant.
  
Si votre clef SSH est accepté, vous devrez avoir les messages suivant (il est possible que vous aillez à taper le mot de passe lié à la clef SSH) :
+
Si votre clef SSH est accepté, vous devrez avoir les messages suivant (il est possible que vous ailliez à taper le mot de passe lié à la clef SSH) :
  Sorry, you are not allowed to execute that command
+
 
(Désolé, vous n'êtes pas autorisé à exécuté cette commande)<br>
+
{{pre-fr|Sorry, you are not allowed to execute that command}}
Ça veut dire que votre clef ssh a correctement été chargée au server. Sinon, SSH vous aurez demandé un mot de passe à la place d'afficher ce message.
 
  
Notez que si vous n'avez pas défini de mot de passe, un mot de passe vous sera demandé, même si votre clef ssh a correctement été chargée. Dans ce cas, vous pouvez utilisez le [[#Test_de_v.C3.A9rification|test au bas de la page]] pour voir si vous avez accès.
+
(Désolé, vous n'êtes pas autorisé à exécuter cette commande)<br />
 +
Ça veut dire que votre clef SSH a correctement été chargée au server. Sinon, SSH, vous aurez demandé un mot de passe à la place d'afficher ce message.
  
= Agent SSH =
+
Notez que si vous n'avez pas défini de mot de passe, un mot de passe vous sera demandé, même si votre clef SSH a correctement été chargée. Dans ce cas, vous pouvez utiliser le [[#Test_de_v.C3.A9rification|test au bas de la page]] pour voir si vous avez accès.
  
If your SSH key is protected with a pass phrase, you will need to type this pass phrase each time the key is used. This will quickly become annoying as the key is used more than once for each commit or svn operation. To avoid this, it is recommended to use an ssh agent. It is a programme to hold private keys used for public key authentication. It should be started at login, see below.
+
== Agent SSH ==
  
== Pour GNOME ==
+
Si votre clef SSH est protégée par un mot de passe, il vous sera demandé de le taper à chaque fois que vous utiliserez cette clef. Cela peut vite devenir ennuyant puisque la clef est utilisée plus d'une fois à chaque soumission ou opération SVN. Pour s'en affranchir, il est recommandé d'utiliser un agent SSH. C'est un programme qui garde la clef privée utilisée pour une authentification publique. Il doit être lancé au démarrage de la session, voir ci-dessous.
  
In GNOME ssh keys are handled by ''gnome-keyring'', which is installed by default and and running by default when GNOME is up.
+
=== Pour GNOME ===
  
== Pour KDE4 ==
+
Sur GNOME, les clefs SSH sont gérées par ''gnome-keyring'', qui est installé par défaut et est lancé par défaut quand GNOME démarre.
  
The easiest way is to follow these steps:
+
=== Pour Plasma ===
* install the ''keychain'' package
 
* excute this command in a terminal ''keychain'': this will create the ''~/.keychain'' directory in your own home directory and start an ssh-agent process
 
* Open a terminal emulator (e.g. konsole): you will be asked for your ssh key passphrase. You will only need to enter the passphrase once, because after the first time your ssh key will be added to the running ssh-agent. This will survive a log out -> log in, but not a reboot.
 
  
Note that, if you have multiple SSH keys on your computer, keychain only loads <code>$HOME/.ssh/id_rsa</code>. If you need to load multiple keys, you can define the environment variable <code>KEYCHAIN_KEYS</code> in <code>HOME/.keychain/config</code> listing your keys, separated by a space. For instance :
+
Le chemin le plus simple est le suivant :
 +
* installez le paquet ''keychain''
 +
* exécutez la commande ''keychain'' dans un terminal, il vous créera le dossier ''~/.keychain'' dans votre dossier d'utilisateur et démarrera un processus ssh-agent
 +
* ouvrez un émulateur de terminal (ex : konsole) : on vous demandera le mot de passe pour votre clef SSH. Vous n'aurez à taper cette clef qu'une seule fois, puisqu'après, votre clef SSH sera ajoutée à l'agent SSH en fonctionnement. Ceci résiste à la déconnexion/connexion des utilisateurs, mais pas au redémarrage de la machine.
  
 +
Notez que, si vous avez de multiples clefs SSH sur votre ordinateur, keychain charge uniquement <code>$HOME/.ssh/id_rsa</code>. Si vous avec besoin de charger plusieurs clefs, vous pouvez définir une variable d'environnement <code>KEYCHAIN_KEYS</code> dans <code>~/.keychain/config</code> listant vos clefs, séparées par un espace. Par exemple :
 
  KEYCHAIN_KEYS="$HOME/.ssh/id_ed25519 $HOME/.ssh/id_rsa"
 
  KEYCHAIN_KEYS="$HOME/.ssh/id_ed25519 $HOME/.ssh/id_rsa"
  
The keys will be loaded in order.
+
Les clefs seront chargées dans l'ordre.
  
== methode basique  ==
+
=== Méthode basique  ===
  
If you do not want to use any of the tools above, you can use ssh-agent:
+
Si vous ne souhaitez utiliser aucun des logiciels susnommés, vous pouvez utiliser ssh-agent :
 +
* veuillez d'abord lancer un processus ssh-agent à la connexion, vous pouvez ajouter une des lignes suivantes :
  
* First to start an ssh-agent process at login, you can add one of the following lines:
+
{{pre-fr|<nowiki>eval $(ssh-agent)
eval $(ssh-agent)
+
ssh-agent /bin/bash</nowiki>}}
  
ssh-agent /bin/bash
+
au fichier ''~/.xinitrc''.
 +
* Ensuite, vous aurez besoin d'ajouter votre clef SSH à ssh-agent en fonctionnement en exécutant ''ssh-add ~/.ssh/id_rsa''
  
to ''~/.xinitrc''.
+
== Éditer ~/.ssh/config et le transfert d'agent SSH ==
  
* Next you will need to add your ssh key to the running ssh-agent by executing ''ssh-add ~/.ssh/id_rsa''
+
Pour finir le processus, vous devez éditer ''~/.ssh/config'' sur votre ordinateur avec un éditeur de texte (crééez le s'il n'existe pas, mais il devrait y être, voir plus loin) et ajoutez-lui les lignes ci-dessous :
  
= Éditer ~/.ssh/config et le transfert d'agent SSH =
+
{{pre-fr|<nowiki>Host *.mageia.org  
 
 
To complete the process, you need to edit ''~/.ssh/config'' on your local machine with any text editor (create it if it doesn't exist, but it should be there: see above) and add the following lines to it:
 
 
 
Host *.mageia.org  
 
 
       ForwardAgent yes
 
       ForwardAgent yes
       User username
+
       User username</nowiki>}}
  
then save the file.
+
puis sauvegardez le fichier.
  
'''username''' is the ''exact'' user name you created in Mageia Identity (see above). Note that this is mandatory only if the user name on your local machine is different than the one in SVN, if it is the same you do not strictly need to add the User line.
+
'''username''' doit être remplacé par votre nom d'utilisateur sur Mageia Identity. Cette ligne n'est obligatoire que si votre nom d'utilisateur sur Mageia Identity (et sur SVN) est différente du nom d'utilisateur local.
  
'''ForwardAgent yes''' will enable SSH agent forwarding, from the ssh_config man page:
+
'''ForwardAgent yes''' activera le transfert d'agent SSH, d'après ma page man de ssh_config :
  
«Il ne faut activé le transfert d'agent qu'avec précaution. En effet, les utilisateurs capables de contourner les permissions des fichiers sur la machines distante (pour obtenir la socket unix-domain de l'agent) peuvent accéder à l'agent local via le transfert de connexion. Un attaquant ne peut pas obtenir d'information sur les clefs à partir de l'agent, en revanche il peut effectuer des opérations sur les clefs lui permettant de s'authentifier avec l'identité chargée dans l'agent.»
+
« Il ne faut activer le transfert d'agent qu'avec précaution. En effet, les utilisateurs capables de contourner les permissions des fichiers sur la machine distante (pour obtenir le socket unix-domain de l'agent) peuvent accéder à l'agent local via le transfert de connexion. Un attaquant ne peut pas obtenir d'information sur les clefs à partir de l'agent, en revanche, il peut effectuer des opérations sur les clefs lui permettant de s'authentifier avec l'identité chargée dans l'agent. »
  
 +
Ainsi : maintenant, vous pouvez télécharger et vérifier les paquets des dépôts SVN de Mageia en utilisant mgarepo (l'outil de Mageia pour la gestion des paquets et leurs soumissions). Notez que vous ne pouvez soumettre des paquets qu'après que votre tuteur a élevé les droits de votre compte vers les droits de mainteneur complet.
  
That's it: now you can checkout packages from the Mageia SVN repo using mgarepo (the Mageia tool for checking out and submitting packages). Note that you can't submit packages until your mentor clears your account to be a full maintainer's account.
+
== Test de vérification ==
  
= Test de vérification =
+
Testez la commande suivante pour vérifier que vous avez accès aux dépôts de SVN via SSH :
Try the following command to check that you can access the svn repository through ssh :
 
  $ svn ls svn+ssh://svn.mageia.org/svn/packages
 
  
The output should be the list of directories at the root of the packages svn repository.
+
{{command-fr|svn ls svn+ssh://svn.mageia.org/svn/packages}}
  
[[Category:Contributors]]
+
Le résultat devrait être la liste des dossiers à la racine du dépôt des paquets de SVN.
[[Category:Packaging]]
 

Latest revision as of 09:49, 17 March 2024


Drakconf multiflag.png
Autres langues
English ; Français ;

Accueil [en] Accueil Équipes Packageurs Les outils d'empaquetage Mageia Empaqueteur ssh


Attention !
Cette page a été traduite de l'anglais, n'hésitez pas à la relire ou la corriger !

Introduction

Après avoir rejoint un groupe de mainteneur sur Mageia, vous allez vraisemblablement avoir besoin de droit d'écriture pour soumettre vos paquets et les sources à SVN et au système de construction des paquets (au début vous ne pourrez pas soumettre vos paquets avant la fin de votre période de formation ainsi que l’approbation de votre tuteur à vous donner les droits complets de mainteneur). Les changements peuvent être opéré en utilisant le protocole internet SSH (en). Cet article devrait vous aider avec le paramétrage de base pour SSH.

Créer une clef SSH

Avant tout, vous devez créer une clef d’authenticité RSA pour SSH :

Si ce n'est pas déjà installé, installez le paquet openssh.

Lancez la commande ssh-keygen. Par défaut, cette commande génère deux fichiers :

  • ~/.ssh/id_rsa, qui contient l'identité authentifiée par le protocole RSA de l'utilisateur,
  • ~/.ssh/id_rsa.pub, qui contient la clef public du protocole RSA pour l'identification distant.

Lorsque vous générerez une clef SSH, il vous sera demandé si vous souhaitez utiliser un mot de passe, c'est vraiment recommandé. Gardez à l'esprit qu'il n'y a aucun moyen de récupérer ce mot de passe si vous le perdez, alors soyez sûr d'en choisir un fort et facile pour vous de vous en souvenir.

Le fichier ./.ssh.id_rsa ne doit être lisible par aucun autre utilisateur que vous, si cette condition n'est pas satisfaite, il sera ignoré par le logiciel ssh-agent et vous ne pourrez pas vous connecter à distance ni à SVN ni au système de construction des paquets.

Pour plus d'information, référez-vous à la page man de ssh-keygen.

Charger votre clef SSH sur le serveur

Veuillez vous assurer que votre compte à les droits au niveau apprenti.

Vous devez charger votre clef publique (le fichier ~/.ssh/rsa_id.pub) sur le serveur de Mageia avec d'être autorisé à vous connecter au SVN. Ça ce fait à via https://identity.mageia.org/.

Pour ce faire, lorsque vous êtes connecté sur https://identity.mageia.org/, ajoutez l'attribut sshPublicKey avec, pour contenu, votre clef public (qui est le contenu du fichier ~/.ssh/id_rsa.pub ou ~/.ssh/id_dsa.pub).

Une fois votre clef SSH ajoutée, l'attente pour activer la clef sur le serveur peut prendre jusqu'à dix minutes.

Pour vérifier que votre clef a correctement été chargée, essayez de vous connecter avec ssh sur svn.mageia.org

$ ssh login@svn.mageia.org

avec login remplacé par votre identifiant.

Si votre clef SSH est accepté, vous devrez avoir les messages suivant (il est possible que vous ailliez à taper le mot de passe lié à la clef SSH) :

Sorry, you are not allowed to execute that command

(Désolé, vous n'êtes pas autorisé à exécuter cette commande)
Ça veut dire que votre clef SSH a correctement été chargée au server. Sinon, SSH, vous aurez demandé un mot de passe à la place d'afficher ce message.

Notez que si vous n'avez pas défini de mot de passe, un mot de passe vous sera demandé, même si votre clef SSH a correctement été chargée. Dans ce cas, vous pouvez utiliser le test au bas de la page pour voir si vous avez accès.

Agent SSH

Si votre clef SSH est protégée par un mot de passe, il vous sera demandé de le taper à chaque fois que vous utiliserez cette clef. Cela peut vite devenir ennuyant puisque la clef est utilisée plus d'une fois à chaque soumission ou opération SVN. Pour s'en affranchir, il est recommandé d'utiliser un agent SSH. C'est un programme qui garde la clef privée utilisée pour une authentification publique. Il doit être lancé au démarrage de la session, voir ci-dessous.

Pour GNOME

Sur GNOME, les clefs SSH sont gérées par gnome-keyring, qui est installé par défaut et est lancé par défaut quand GNOME démarre.

Pour Plasma

Le chemin le plus simple est le suivant :

  • installez le paquet keychain
  • exécutez la commande keychain dans un terminal, il vous créera le dossier ~/.keychain dans votre dossier d'utilisateur et démarrera un processus ssh-agent
  • ouvrez un émulateur de terminal (ex : konsole) : on vous demandera le mot de passe pour votre clef SSH. Vous n'aurez à taper cette clef qu'une seule fois, puisqu'après, votre clef SSH sera ajoutée à l'agent SSH en fonctionnement. Ceci résiste à la déconnexion/connexion des utilisateurs, mais pas au redémarrage de la machine.

Notez que, si vous avez de multiples clefs SSH sur votre ordinateur, keychain charge uniquement $HOME/.ssh/id_rsa. Si vous avec besoin de charger plusieurs clefs, vous pouvez définir une variable d'environnement KEYCHAIN_KEYS dans ~/.keychain/config listant vos clefs, séparées par un espace. Par exemple :

KEYCHAIN_KEYS="$HOME/.ssh/id_ed25519 $HOME/.ssh/id_rsa"

Les clefs seront chargées dans l'ordre.

Méthode basique

Si vous ne souhaitez utiliser aucun des logiciels susnommés, vous pouvez utiliser ssh-agent :

  • veuillez d'abord lancer un processus ssh-agent à la connexion, vous pouvez ajouter une des lignes suivantes :
eval $(ssh-agent) ssh-agent /bin/bash

au fichier ~/.xinitrc.

  • Ensuite, vous aurez besoin d'ajouter votre clef SSH à ssh-agent en fonctionnement en exécutant ssh-add ~/.ssh/id_rsa

Éditer ~/.ssh/config et le transfert d'agent SSH

Pour finir le processus, vous devez éditer ~/.ssh/config sur votre ordinateur avec un éditeur de texte (crééez le s'il n'existe pas, mais il devrait y être, voir plus loin) et ajoutez-lui les lignes ci-dessous :

Host *.mageia.org ForwardAgent yes User username

puis sauvegardez le fichier.

username doit être remplacé par votre nom d'utilisateur sur Mageia Identity. Cette ligne n'est obligatoire que si votre nom d'utilisateur sur Mageia Identity (et sur SVN) est différente du nom d'utilisateur local.

ForwardAgent yes activera le transfert d'agent SSH, d'après ma page man de ssh_config :

« Il ne faut activer le transfert d'agent qu'avec précaution. En effet, les utilisateurs capables de contourner les permissions des fichiers sur la machine distante (pour obtenir le socket unix-domain de l'agent) peuvent accéder à l'agent local via le transfert de connexion. Un attaquant ne peut pas obtenir d'information sur les clefs à partir de l'agent, en revanche, il peut effectuer des opérations sur les clefs lui permettant de s'authentifier avec l'identité chargée dans l'agent. »

Ainsi : maintenant, vous pouvez télécharger et vérifier les paquets des dépôts SVN de Mageia en utilisant mgarepo (l'outil de Mageia pour la gestion des paquets et leurs soumissions). Notez que vous ne pouvez soumettre des paquets qu'après que votre tuteur a élevé les droits de votre compte vers les droits de mainteneur complet.

Test de vérification

Testez la commande suivante pour vérifier que vous avez accès aux dépôts de SVN via SSH :

$ svn ls svn+ssh://svn.mageia.org/svn/packages

Le résultat devrait être la liste des dossiers à la racine du dépôt des paquets de SVN.