CLES SSH SUR L’ORDI EN LOCAL
Les clés se trouvent dans le dossier /Users/nomUtilisateur/.ssh/
Pour voir les clés installées sur l’ordi : ls -lAF ~/.ssh
Les clés fonctionnent par 2 :
- une clé privée (ex : github_rsa) : à ne jamais divulguer !
- et une clé publique (ex : github_rsa.pub) : avec extension .pub
Le principe d'un chiffrement asymétrique est le suivant :
Supposons que Robert souhaite envoyer un message à Marie. Robert a la clé publique de Marie, et il va chiffrer le message à envoyer avec la clé publique de Marie. Ainsi, seul Marie pourra déchiffrer le message avec sa clé privée (les deux clés marchent ensemble). Quelqu'un qui récupère le message ne pourra déchiffrer le message puisqu'il n'a pas la clé privée de Marie.
Il y aussi une autre utilité des clés asymétriques. Elles permettent à Robert par exemple de prouver qu'il est bien l'émetteur du message. Marie a la clé publique de Robert puisque les clés publiques sont divulguées sur le réseau. Quand Robert envoie son message, il peut chiffrer son message avec sa clé privée et Marie pourra utiliser la clé publique de Robert pour vérifier que le message est bien de Robert.
Il y a deux types de chiffrement RSA et DSA
On peut vérifier les identités des serveurs dans : ~/.ssh/known_hosts
Dans notre cas, pour les clés ssh du serveur Synology, on a créé les clés suivantes
- clé publique : syno_rsa.pub
- et clé privée : syno_rsa
Pour en générer une pour un nouvel utilisateur (-t = type, -b = nb de bytes) :
ssh-keygen -t rsa -b 2048
Il va demander le nom de la clé (ex : github_rsa)
Mettre un passphrase du genre : lescarottessontcuites.
Si on souhaite changer la passphrase (cad entrer une phrase qui va renforcer la sécurité de la clé privée), on fait : ssh-keygen -p -f ~/.ssh/le_fichier_de_cle
Pour supprimer une clé : ssh-keygen -R <nom_du serveur_SSH>
Dans le fichier ~/.ssh/authorized_keys
, on retrouve toutes les clés publiques dont les titulaires peuvent accéder à votre compte via SSH
Dans le fichier .ssh/config
, mettre les données suivantes :
# Default GitHub user
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/github_rsa
# Default Bitbucket user
Host bitbucket.org
HostName bitbucket.org
PreferredAuthentications publickey
IdentityFile ~/.ssh/bitbucket
# Default Gandi user
Host git.dc0.gpaas.net
HostName git.dc0.gpaas.net
PreferredAuthentications publickey
IdentityFile ~/.ssh/gandi_rsa
# Default Synology user
Host domaine #Permet de taper ensuite `ssh domaine`
HostName domaine.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/synology_rsa
Port 22
CLES SSH SUR LE SERVEUR GANDI
Se connecter en sftp et aller dans .ssh/
(attention, ce dossier est caché, donc allez dans les options du sftp pour les afficher)
Créer un fichier authorized_keys
dans ce dossier si il n'existe pas déjà.
Allez dans ce fichier et rajoutez à la suite votre clé publique (ex : gandi_rsa.pub)
Sinon, la nouvelle interface d'administration web de Simple Hosting permet d'ajouter des clés SSH (ajoutera basiquement les clés dans le fichier cité plus haut)
SYNOLOGY
Se connecter avec git sur le web diskstation synology, puis aller dans le fichier /volume1/home/.ssh/authorized_keys
Attention aux permissions sur les fichiers (voir http://www.xrings.net/xrings/article.php3?id_article=79)
chmod 644 .ssh/authorized_keys
chmod 600 .ssh
POUR CHANGER DES OPTIONS DE GITOLITE
allez dans le dossier /Users/user/gitolite-admin
changer les fichiers si nécessaire et ensuite utiliser le terminal pour faire les changements via git
gitolite-admin est un dépôt git qui se met à jour comme les autres dépôts avec les commandes git
Références
http://www.git-attitude.fr/2010/09/13/comprendre-et-maitriser-les-cles-ssh/
http://benjamin-balet.info/multimedia/utiliser-les-fonctions-ssh-ou-telnet-du-synology/