Ssh keys

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/