Skip to content
Snippets Groups Projects
Commit 3482bb94 authored by Philippe Dosch's avatar Philippe Dosch
Browse files

Connection part now splited into 3 files

parent 0ca62762
No related branches found
No related tags found
No related merge requests found
\documentclass{IutSlideBeamerNew} \documentclass{IutSlideBeamerNew}
\title{Git} \title{Git}
\subtitle{Principes et utilisation pour les projets tuteurés\\ \subtitle{Gestion des dépôts distants}
(et les autres projets...)} \date{6 janvier 2014}
\date{5 septembre 2013}
\AtBeginSubsection[] \AtBeginSubsection[]
{ {
...@@ -33,439 +32,9 @@ ...@@ -33,439 +32,9 @@
%====================================================================== %======================================================================
\section{Gestion des projets à l'IUT} \input{ssh}
\input{redmineiut}
%====================================================================== \input{github}
\subsection{Authentification SSH}
%======================================================================
\frame{\frametitle{Problématique}
\begin{itemize}
\item
De nombreux serveurs Git utilisent une authentification par clés
publiques SSH
\item
Si le répertoire \ex{\textasciitilde/.ssh} existe et qu'il
contient des fichiers \ex{id\_rsa} et \ex{id\_rsa.pub}, une clé
existe déjà~!
\item
Sinon, il faut en générer une pour pouvoir communiquer avec les
serveurs...
\end{itemize}
}
%======================================================================
\frame{\frametitle{Génération de clé SSH RSA}
\begin{itemize}
\item
Pour générer une clé, utiliser \ex{ssh-keygen}
\begin{itemize}
\item
sous Linux : en standard dans le package \ex{openssh-client}
\item
sous Windows : installer MSysGit
\item
sous Mac : en standard dans MacOS
\end{itemize}
\item
Lors de la génération, une \emph{passphrase} est demandée
\begin{itemize}
\item
c'est une sorte de mot de passe (ne pas reprendre le mot de
passe de connexion)
\item
cette \emph{passphrase} sera demandée lors des connexions SSH
\end{itemize}
\end{itemize}
}
%======================================================================
\frame{\frametitle{Utilisation d'une clé SSH}
\begin{itemize}
\item
Pour pouvoir communiquer \emph{via} SSH avec un serveur, il est
nécessaire d'y déposer sa clé publique (le contenu du fichier
\ex{id\_rsa.pub})
\item
Les serveurs proposent généralement d'effectuer ce dépôt
\emph{via} une interface Web
\item
À chaque connexion SSH, la \emph{passphrase} sera demandée
\item
Pour éviter de taper la \emph{passphrase} à chaque fois, utiliser
\ex{ssh-agent}
\begin{itemize}
\item
sous Linux et Mac : en tapant \ex{ssh-add}
\item
sous Windows : voir
\url{https://help.github.com/articles/working-with-ssh-key-passphrases}
\end{itemize}
\end{itemize}
}
%======================================================================
\frame{\frametitle{Clé SSH et multi-comptes}
\begin{itemize}
\item
Lorsqu'on est susceptible de se connecter depuis plusieurs
ordinateurs (ou OS) à un serveur Git, plusieurs solutions
\begin{itemize}
\item
générer une clé SSH sur chacun de ses comptes et importer chaque
clé publique sur le serveur
\item
générer une clé SSH sur le premier compte, la copier sur les
autres comptes et importer la partie publique sur le serveur
\end{itemize}
\item
Il peut être sain de travailler avec plusieurs clés SSH et ainsi
ne pas mettre tous ses \oe{}ufs dans le même panier...
\end{itemize}
}
%======================================================================
% \section{Gérer un dépôt Git sur github}
% %======================================================================
% \frame{\frametitle{Inscription et configuration}
% \begin{itemize}
% \item
% \emph{Github} : \url{https://github.com/}
% \item
% Inscription : choisir un compte gratuit
% \item
% Ajouter sa clé RSA publique en passant par l'icône \emph{Account
% settings}
% \item
% Au besoin, la créer
% \begin{itemize}
% \item
% sous Linux : les indications sont fournies par Github
% \item
% sous Windows : utiliser puttygen
% \end{itemize}
% \end{itemize}
% }
% %======================================================================
% \frame{\frametitle{Configuration}
% \begin{itemize}
% \item
% À l'initiative d'une seule personne, le créateur du projet
% \item
% Création d'un dépôt public avec un simple nom
% \item
% Suivre les indications fournies par le site !
% \item
% Effectuer la configuration globale sur votre machine (si non déjà
% effectuée)
% \item
% Réaliser les étapes d'initialisation du dépôt décrites
% \item
% Le dépôt est créé (vérifier sous Github)
% \item
% Ajouter les collaborateurs (\emph{Admin\,/\, collaborators})
% \end{itemize}
% }
% %======================================================================
% \frame{\frametitle{Rallier un projet existant}
% \begin{itemize}
% \item
% Recommandé, y compris pour le créateur du projet
% \item
% Aller sur la page consacrée au projet
% \item
% Choisir le protocole SSH parmi ceux proposés
% \item
% Copier l'URL associée
% \item
% Taper\\
% \mygit{git clone git@github.com:dosch/test.git}{gitclone.txt}
% \end{itemize}
% }
% %======================================================================
\subsection{Gérer un projet sur Redmine (IUT)}
%======================================================================
\frame{\frametitle{Informations générales}
\begin{itemize}
\item
Adresse du serveur, accessible également depuis l'extérieur\\
\url{https://redmine.iutnc.univ-lorraine.fr}
\item
Tous les projets doivent être gérés et rendus sur ce serveur
\item
Les tuteurs s'y rendront donc pour les récupérer...
\item
Il est nécessaire de s'y connecter \textbf{rapidement} une
première fois pour y rentrer ses informations personnelles
\item
Cette étape est \textbf{nécessaire} pour que les projets tuteurés
puissent être complètement créés et renseignés sur Redmine
\end{itemize}
}
%======================================================================
\frame{\frametitle{Informations générales}
\framesubtitle{Gestion des projets Redmine}
\begin{itemize}
\item
Depuis la rentrée 2013, les étudiants possèdent automatiquement et
par défaut un projet s'appelant «~Projet de \emph{prénom nom}
\item
Il est conseillé de laisser ce projet \textbf{inutilisé} et de se
créer des sous-projets pour chaque nouveau projet à gérer
\end{itemize}
}
%======================================================================
\frame{\frametitle{Informations générales}
\framesubtitle{Création des projets Redmine}
\begin{itemize}
\item
Cliquer sur «~Nouveau sous-projet~» (en haut à droite)
\item
Saisir les informations demandées, et en particulier
\begin{itemize}
\item
le \emph{nom} du projet : titre libre (concis autant que possible)
\item
l'\emph{identifiant} : doit être \textbf{unique} sur Redmine,
en considérant \textbf{tous} les projets de \textbf{tous} les
étudiants\\
$\to$ utiliser son login en préfixe, à des fins de lisibilité et
d'organisation (ex : \ex{dosch-\emph{nom\_projet}})
\end{itemize}
\item
Ajouter ensuite les autres membres du projet (s'il y en a) en
cliquant sur \emph{Configuration / Membres} en leur attribuant
le rôle «~développeur~»
\end{itemize}
}
%======================================================================
\frame{\frametitle{Informations générales}
\framesubtitle{Création des projets Redmine}
\begin{itemize}
\item
Utiliser cette procédure pour se créer un projet correspondant au
projet tuteuré à l'initiative \textbf{d'un seul} des membres du
groupe
\begin{itemize}
\item
création du projet Redmine sur son compte Redmine
\item
ajout des autres membres du groupe
\item
communication des informations relatives au projet aux autres
membres du projet tuteuré
\end{itemize}
\item
Il est naturellement possible de se créer d'autres projets Redmine
pour gérer d'autres projets que le projet tuteuré
\item
Il est même possible de se créer des projets à usage purement
personnels : permet la sauvegarde et le \emph{versionning}
\end{itemize}
}
%======================================================================
\frame{\frametitle{Première connexion au serveur}
\begin{itemize}
\item
S'assurer d'avoir une clé SSH
\item
Se connecter une première fois sur le serveur Redmine
\item
Saisir ses informations personnelles
\item
Y importer sa ou ses clés publiques
\end{itemize}
}
%======================================================================
\frame{\frametitle{Gestion des projets}
\begin{itemize}
\item
Chaque projet tuteuré doit être géré par un projet Redmine
comprenant
\begin{itemize}
\item
un journal des événements du projet
\item
un outil de gestion de tickets (gestion des bugs,
fonctionnalités à implanter, répartition des rôles...)
\item
un porte-documents (pour y déposer de la documentation externe)
\item
un wiki (pour y gérer la documentation interne)
\item
...et un dépôt git !
\end{itemize}
\item
Les projets Redmine sont à créer à l'initiative d'un des membres
du projet tuteuré (voir précédemment)
\end{itemize}
}
%======================================================================
\frame{\frametitle{Accès à un dépôt Git sous Redmine}
\begin{itemize}
\item
Les dépôts Git sont accessibles \emph{via} SSH à\\
\ex{git@webetu.iutnc.univ-lorraine.fr:\emph{idprojet}}\\
\ex{\emph{idprojet}} est l'identifiant du projet sous Redmine
\item
Aucun \emph{login} n'est donc nécessaire, l'authentification se
fait grâce à la clé SSH...
\item
Un premier utilisateur devra configurer le dépôt
\item
L'initialisation faite, les autres utilisateurs pourront cloner le
projet
\end{itemize}
}
%======================================================================
\frame{\frametitle{Communication avec un dépôt Git sous Redmine}
\begin{itemize}
\item
Le premier utilisateur doit
\begin{enumerate}
\item
créer un dépôt local Git et y faire au moins un \emph{commit}\\
\ex{cd projet}\\
\ex{git init}\\
\ex{git add .}\\
\ex{git commit -m "Premier commit"}
\item
le propager vers le dépôt Git sous Redmine\\
{\fontsize{2.5mm}{1em}\selectfont \ex{git remote add origin
git@webetu.iutnc.univ-lorraine.fr:\emph{idprojet}}}\\
\ex{git push -u origin master}
\end{enumerate}
\item
Les autres membres ont juste besoin de cloner le dépôt\\
\ex{\fontsize{3mm}{1em}\selectfont git clone
git@webetu.iutnc.univ-lorraine.fr:\emph{idprojet}}\\
\end{itemize}
}
%======================================================================
\frame{\frametitle{Utilisation de Git dans le cadre du projet}
\begin{itemize}
\item
Git est utilisable
\begin{itemize}
\item
en ligne de commande
\item
intégré aux menus systèmes (sous Windows)
\item
sous Emacs ($\geq$ 24.3) avec l'excellent package \ex{magit}
\item
\emph{via} les IDE traditionnels (Eclipse, Netbeans, Xcode...)
\end{itemize}
\item
Sous Eclipse
\begin{itemize}
\item
Git est accessible \emph{via} le plugin Egit
\item
les commandes les plus courantes sont alors disponibles dans des
menus tels que
\begin{itemize}
\item
Team
\item
Compare with
\item
Replace with
\end{itemize}
\end{itemize}
\end{itemize}
}
%======================================================================
% \frame{\frametitle{Redmine IUT}
% \begin{itemize}
% \item
% Création d'un nouveau sous-projet
% \begin{enumerate}
% \item
% Depuis l'interface Web, création d'un nouveau sous-projet
% \item
% Depuis éclipse, création d'une nouvelle application ou
% positionnement sur une application existante à raccorder au
% projet Redmine
% \item
% Click droit sur le projet, choisir l'entrée \emph{Team} et
% \emph{Share project...}
% \item
% Choisir un projet de type git
% \item
% Choisir la case à cocher «~Use ou create repository in parent
% folder of project~»
% \item
% Cliquer sur le bouton «~Create repository~», permetant de créer
% le dépôt à la racine du projet, en dépit de l'avertissement
% recommandant de ne pas le faire
% \item
% Ajouter un fichier \ex{.gitignore}.
% En première approche, ce fichier peut contenir les lignes
% suivantes :
% %\mylistinginput{.gitignore.sample}
% \item
% Faire un premier commit : dans un premier temps, sélectionner
% tous les fichiers proposés (22 \emph{a priori})
% \item
% Aller dans le menu contextuel, entrée \ex{Team / Remote / Push}
% \item
% Dans la boîte de dialogue,
% \ex{git@webetu.iuta.univ-nancy2.fr:xxx}, où \ex{xxx} correspond
% à l'identifiant du projet précédemment créé sous Redmine
% \item
% Sauf que les deux items ci-dessus ne fonctionnent pas.
% À la place; taper en ligne de commande\\
% \ex{git remote add hwa git@webetu.iuta.univ-nancy2.fr:hwa}\\
% \ex{git push hwa master}
% \item
% Les push suivants peuvent être réalisés en passant par le menu
% contextuel, en choisissant \ex{Team / Remote / Push} (cocher la
% case \emph{Save specifications in specification} la première
% fois)
% % \item
% % Pas encore le top : rien n'est sauvegardé pour des manipulations
% % en ligne de commande. Il faut soit trouver le moyen de gérer
% % tout ça depuis eclipse, le mieux surtout si on est Windows, soit
% % initier quelque chose en ligne de commande qui sera récupéré
% % ensuite depuis eclipse
% \end{enumerate}
% \end{itemize}
% }
%====================================================================== %======================================================================
......
%======================================================================
\section{Gérer un dépôt Git sur github}
%======================================================================
\frame{\frametitle{Inscription et configuration}
\begin{itemize}
\item
\emph{Github} : \url{https://github.com/}
\item
Inscription : choisir un compte gratuit
\item
Ajouter sa clé SSH publique en passant par l'icône \emph{Account
settings}
\item
Au besoin, la créer
\begin{itemize}
\item
sous Linux : les indications sont fournies par Github
\item
sous Windows : utiliser puttygen
\end{itemize}
\end{itemize}
}
%======================================================================
\frame{\frametitle{Configuration}
\begin{itemize}
\item
À l'initiative d'une seule personne, le créateur du projet
\item
Création d'un dépôt public avec un simple nom
\item
Suivre les indications fournies par le site !
\item
Effectuer la configuration globale sur votre machine (si non déjà
effectuée)
\item
Réaliser les étapes d'initialisation du dépôt décrites
\item
Le dépôt est créé (vérifier sous Github)
\item
Ajouter les collaborateurs (\emph{Admin\,/\, collaborators})
\end{itemize}
}
%======================================================================
\frame{\frametitle{Rallier un projet existant}
\begin{itemize}
\item
Recommandé, y compris pour le créateur du projet
\item
Aller sur la page consacrée au projet
\item
Choisir le protocole SSH parmi ceux proposés
\item
Copier l'URL associée
\item
Taper\\
\mygit{git clone git@github.com:dosch/test.git}{gitclone.txt}
\end{itemize}
}
%======================================================================
\section{Authentification SSH}
%======================================================================
\frame{\frametitle{Problématique}
\begin{itemize}
\item
De nombreux serveurs Git utilisent une authentification par clés
publiques SSH
\item
Si le répertoire \ex{\textasciitilde/.ssh} existe et qu'il
contient des fichiers \ex{id\_rsa} et \ex{id\_rsa.pub}, une clé
existe déjà~!
\item
Sinon, il faut en générer une pour pouvoir communiquer avec les
serveurs...
\end{itemize}
}
%======================================================================
\frame{\frametitle{Génération de clé SSH RSA}
\begin{itemize}
\item
Pour générer une clé, utiliser \ex{ssh-keygen}
\begin{itemize}
\item
sous Linux : en standard dans le package \ex{openssh-client}
\item
sous Windows : installer MSysGit
\item
sous Mac : en standard dans MacOS
\end{itemize}
\item
Lors de la génération, une \emph{passphrase} est demandée
\begin{itemize}
\item
c'est une sorte de mot de passe (ne pas reprendre le mot de
passe de connexion)
\item
cette \emph{passphrase} sera demandée lors des connexions SSH
\end{itemize}
\end{itemize}
}
%======================================================================
\frame{\frametitle{Utilisation d'une clé SSH}
\begin{itemize}
\item
Pour pouvoir communiquer \emph{via} SSH avec un serveur, il est
nécessaire d'y déposer sa clé publique (le contenu du fichier
\ex{id\_rsa.pub})
\item
Les serveurs proposent généralement d'effectuer ce dépôt
\emph{via} une interface Web
\item
À chaque connexion SSH, la \emph{passphrase} sera demandée
\item
Pour éviter de taper la \emph{passphrase} à chaque fois, utiliser
\ex{ssh-agent}
\begin{itemize}
\item
sous Linux et Mac : en tapant \ex{ssh-add}
\item
sous Windows : voir
\url{https://help.github.com/articles/working-with-ssh-key-passphrases}
\end{itemize}
\end{itemize}
}
%======================================================================
\frame{\frametitle{Clé SSH et multi-comptes}
\begin{itemize}
\item
Lorsqu'on est susceptible de se connecter depuis plusieurs
ordinateurs (ou OS) à un serveur Git, plusieurs solutions
\begin{itemize}
\item
générer une clé SSH sur chacun de ses comptes et importer chaque
clé publique sur le serveur
\item
générer une clé SSH sur le premier compte, la copier sur les
autres comptes et importer la partie publique sur le serveur
\end{itemize}
\item
Il peut être sain de travailler avec plusieurs clés SSH et ainsi
ne pas mettre tous ses \oe{}ufs dans le même panier...
\end{itemize}
}
%======================================================================
\section{Gérer un projet sur Redmine (IUT)}
%======================================================================
\frame{\frametitle{Informations générales}
\begin{itemize}
\item
Adresse du serveur, accessible également depuis l'extérieur\\
\url{https://redmine.iutnc.univ-lorraine.fr}
\item
Tous les projets doivent être gérés et rendus sur ce serveur
\item
Les tuteurs s'y rendront donc pour les récupérer...
\item
Il est nécessaire de s'y connecter \textbf{rapidement} une
première fois pour y rentrer ses informations personnelles
\item
Cette étape est \textbf{nécessaire} pour que les projets tuteurés
puissent être complètement créés et renseignés sur Redmine
\end{itemize}
}
%======================================================================
\frame{\frametitle{Informations générales}
\framesubtitle{Gestion des projets Redmine}
\begin{itemize}
\item
Depuis la rentrée 2013, les étudiants possèdent automatiquement et
par défaut un projet s'appelant «~Projet de \emph{prénom nom}
\item
Il est conseillé de laisser ce projet \textbf{inutilisé} et de se
créer des sous-projets pour chaque nouveau projet à gérer
\end{itemize}
}
%======================================================================
\frame{\frametitle{Informations générales}
\framesubtitle{Création des projets Redmine}
\begin{itemize}
\item
Cliquer sur «~Nouveau sous-projet~» (en haut à droite)
\item
Saisir les informations demandées, et en particulier
\begin{itemize}
\item
le \emph{nom} du projet : titre libre (concis autant que possible)
\item
l'\emph{identifiant} : doit être \textbf{unique} sur Redmine,
en considérant \textbf{tous} les projets de \textbf{tous} les
étudiants\\
$\to$ utiliser son login en préfixe, à des fins de lisibilité et
d'organisation (ex : \ex{dosch-\emph{nom\_projet}})
\end{itemize}
\item
Ajouter ensuite les autres membres du projet (s'il y en a) en
cliquant sur \emph{Configuration / Membres} en leur attribuant
le rôle «~développeur~»
\end{itemize}
}
%======================================================================
\frame{\frametitle{Informations générales}
\framesubtitle{Création des projets Redmine}
\begin{itemize}
\item
Utiliser cette procédure pour se créer un projet correspondant au
projet tuteuré à l'initiative \textbf{d'un seul} des membres du
groupe
\begin{itemize}
\item
création du projet Redmine sur son compte Redmine
\item
ajout des autres membres du groupe
\item
communication des informations relatives au projet aux autres
membres du projet tuteuré
\end{itemize}
\item
Il est naturellement possible de se créer d'autres projets Redmine
pour gérer d'autres projets que le projet tuteuré
\item
Il est même possible de se créer des projets à usage purement
personnels : permet la sauvegarde et le \emph{versionning}
\end{itemize}
}
%======================================================================
\frame{\frametitle{Première connexion au serveur}
\begin{itemize}
\item
S'assurer d'avoir une clé SSH
\item
Se connecter une première fois sur le serveur Redmine
\item
Saisir ses informations personnelles
\item
Y importer sa ou ses clés publiques
\end{itemize}
}
%======================================================================
\frame{\frametitle{Gestion des projets}
\begin{itemize}
\item
Chaque projet tuteuré doit être géré par un projet Redmine
comprenant
\begin{itemize}
\item
un journal des événements du projet
\item
un outil de gestion de tickets (gestion des bugs,
fonctionnalités à implanter, répartition des rôles...)
\item
un porte-documents (pour y déposer de la documentation externe)
\item
un wiki (pour y gérer la documentation interne)
\item
...et un dépôt git !
\end{itemize}
\item
Les projets Redmine sont à créer à l'initiative d'un des membres
du projet tuteuré (voir précédemment)
\end{itemize}
}
%======================================================================
\frame{\frametitle{Accès à un dépôt Git sous Redmine}
\begin{itemize}
\item
Les dépôts Git sont accessibles \emph{via} SSH à\\
\ex{git@webetu.iutnc.univ-lorraine.fr:\emph{idprojet}}\\
\ex{\emph{idprojet}} est l'identifiant du projet sous Redmine
\item
Aucun \emph{login} n'est donc nécessaire, l'authentification se
fait grâce à la clé SSH...
\item
Un premier utilisateur devra configurer le dépôt
\item
L'initialisation faite, les autres utilisateurs pourront cloner le
projet
\end{itemize}
}
%======================================================================
\frame{\frametitle{Communication avec un dépôt Git sous Redmine}
\begin{itemize}
\item
Le premier utilisateur doit
\begin{enumerate}
\item
créer un dépôt local Git et y faire au moins un \emph{commit}\\
\ex{cd projet}\\
\ex{git init}\\
\ex{git add .}\\
\ex{git commit -m "Premier commit"}
\item
le propager vers le dépôt Git sous Redmine\\
{\fontsize{2.5mm}{1em}\selectfont \ex{git remote add origin
git@webetu.iutnc.univ-lorraine.fr:\emph{idprojet}}}\\
\ex{git push -u origin master}
\end{enumerate}
\item
Les autres membres ont juste besoin de cloner le dépôt\\
\ex{\fontsize{3mm}{1em}\selectfont git clone
git@webetu.iutnc.univ-lorraine.fr:\emph{idprojet}}\\
\end{itemize}
}
%======================================================================
\frame{\frametitle{Utilisation de Git dans le cadre du projet}
\begin{itemize}
\item
Git est utilisable
\begin{itemize}
\item
en ligne de commande
\item
intégré aux menus systèmes (sous Windows)
\item
sous Emacs ($\geq$ 24.3) avec l'excellent package \ex{magit}
\item
\emph{via} les IDE traditionnels (Eclipse, Netbeans, Xcode...)
\end{itemize}
\item
Sous Eclipse
\begin{itemize}
\item
Git est accessible \emph{via} le plugin Egit
\item
les commandes les plus courantes sont alors disponibles dans des
menus tels que
\begin{itemize}
\item
Team
\item
Compare with
\item
Replace with
\end{itemize}
\end{itemize}
\end{itemize}
}
%======================================================================
% \frame{\frametitle{Redmine IUT}
% \begin{itemize}
% \item
% Création d'un nouveau sous-projet
% \begin{enumerate}
% \item
% Depuis l'interface Web, création d'un nouveau sous-projet
% \item
% Depuis éclipse, création d'une nouvelle application ou
% positionnement sur une application existante à raccorder au
% projet Redmine
% \item
% Click droit sur le projet, choisir l'entrée \emph{Team} et
% \emph{Share project...}
% \item
% Choisir un projet de type git
% \item
% Choisir la case à cocher «~Use ou create repository in parent
% folder of project~»
% \item
% Cliquer sur le bouton «~Create repository~», permetant de créer
% le dépôt à la racine du projet, en dépit de l'avertissement
% recommandant de ne pas le faire
% \item
% Ajouter un fichier \ex{.gitignore}.
% En première approche, ce fichier peut contenir les lignes
% suivantes :
% %\mylistinginput{.gitignore.sample}
% \item
% Faire un premier commit : dans un premier temps, sélectionner
% tous les fichiers proposés (22 \emph{a priori})
% \item
% Aller dans le menu contextuel, entrée \ex{Team / Remote / Push}
% \item
% Dans la boîte de dialogue,
% \ex{git@webetu.iuta.univ-nancy2.fr:xxx}, où \ex{xxx} correspond
% à l'identifiant du projet précédemment créé sous Redmine
% \item
% Sauf que les deux items ci-dessus ne fonctionnent pas.
% À la place; taper en ligne de commande\\
% \ex{git remote add hwa git@webetu.iuta.univ-nancy2.fr:hwa}\\
% \ex{git push hwa master}
% \item
% Les push suivants peuvent être réalisés en passant par le menu
% contextuel, en choisissant \ex{Team / Remote / Push} (cocher la
% case \emph{Save specifications in specification} la première
% fois)
% % \item
% % Pas encore le top : rien n'est sauvegardé pour des manipulations
% % en ligne de commande. Il faut soit trouver le moyen de gérer
% % tout ça depuis eclipse, le mieux surtout si on est Windows, soit
% % initier quelque chose en ligne de commande qui sera récupéré
% % ensuite depuis eclipse
% \end{enumerate}
% \end{itemize}
% }
ssh.tex 0 → 100644
%======================================================================
\section{Authentification SSH}
%======================================================================
\frame{\frametitle{Problématique}
\begin{itemize}
\item
De nombreux serveurs Git utilisent une authentification par clés
publiques SSH
\item
Si le répertoire \ex{\textasciitilde/.ssh} existe et qu'il
contient des fichiers \ex{id\_rsa} et \ex{id\_rsa.pub}, une clé
existe déjà~!
\item
Sinon, il faut en générer une pour pouvoir communiquer avec les
serveurs...
\end{itemize}
}
%======================================================================
\frame{\frametitle{Génération de clé SSH RSA}
\begin{itemize}
\item
Pour générer une clé, utiliser \ex{ssh-keygen}
\begin{itemize}
\item
sous Linux : en standard dans le package \ex{openssh-client}
\item
sous Windows : installer MSysGit
\item
sous Mac : en standard dans MacOS
\end{itemize}
\item
Lors de la génération, le choix d'une \emph{passphrase} est
demandé
\begin{itemize}
\item
c'est fondamentalement un mot de passe
\item
un mot de passe fait généralement entre 6 et 8 caractères, là où
une \emph{passphrase} fait plutôt entre 20 et 30 caractères
\item
cette \emph{passphrase} sera demandée lors des connexions SSH,
c'est-à-dire pour chaque opération impliquant un dépôt distant
\end{itemize}
\end{itemize}
}
%======================================================================
\frame{\frametitle{Utilisation d'une clé SSH}
\begin{itemize}
\item
Pour pouvoir communiquer \emph{via} SSH avec un serveur, il est
nécessaire d'y déposer sa clé publique (le contenu du fichier
\ex{id\_rsa.pub})
\item
Les serveurs proposent généralement d'effectuer ce dépôt
\emph{via} une interface Web
\item
À chaque connexion SSH, la \emph{passphrase} sera demandée
\item
Pour éviter de taper la \emph{passphrase} à chaque fois, utiliser
\ex{ssh-agent}
\begin{itemize}
\item
sous Linux et Mac : en tapant \ex{ssh-add}
\item
sous Windows : voir
\url{https://help.github.com/articles/working-with-ssh-key-passphrases}
\end{itemize}
\end{itemize}
}
%======================================================================
\frame{\frametitle{Clé SSH et multi-comptes}
\begin{itemize}
\item
Lorsqu'on est susceptible de se connecter depuis plusieurs
ordinateurs (ou OS) à un serveur Git, plusieurs solutions
\begin{itemize}
\item
générer une clé SSH sur chacun de ses comptes et importer chaque
clé publique sur le serveur
\item
générer une clé SSH sur le premier compte, la copier sur les
autres comptes et importer la partie publique sur le serveur
\end{itemize}
\item
Il peut être sain de travailler avec plusieurs clés SSH et ainsi
ne pas mettre tous ses \oe{}ufs dans le même panier...
\end{itemize}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment