Ssh

Un article de MemoWiki.

(Différences entre les versions)
m
Version actuelle (8 janvier 2009 à 21:19) (voir la source)
m (Connexion sans mot de passe)
 
(5 révisions intermédiaires masquées)
Ligne 1 : Ligne 1 :
 +
== Copie de fichiers entre deux hosts ==
 +
'''Copie d'un fichier'''
 +
scp nom_fichier utilisateur@host_cible:/repertoire/fichier
 +
'''Copie d'une arborescence'''
 +
  scp -r nom_rep utilisateur@host_cible:/repertoire/nom_rep
 +
== Sauvegardes avec ssh ==
== Sauvegardes avec ssh ==
Il est possible de sauvegarder un repertoire vers une machine distante en utilisant ssh
Il est possible de sauvegarder un repertoire vers une machine distante en utilisant ssh
 +
'''Sauvegarde'''  
'''Sauvegarde'''  
  tar czf - repertoire |ssh machine_distante "cat > repertoire.tar.gz"
  tar czf - repertoire |ssh machine_distante "cat > repertoire.tar.gz"
'''Restauration'''
'''Restauration'''
  ssh machine_distante "cat repertoire.tar.gz" |tar xzf
  ssh machine_distante "cat repertoire.tar.gz" |tar xzf
 +
 +
== Connexion à l'aide d'un couple de clé publique - privée ==
 +
Il est possible de se connecter sur un hote distant avec une clé ssh plutôt qu'avec un mot de passe. Pour cela, il faut générer sur le poste de travail un couple de clé privée - publique. La clé privé ne doit pas être divulguée. Elle peut être protégée par une paraphrase ou nom. La clé publique est destinée à être installée sur les machines cibles.
 +
 +
===Génération des clés===
 +
user1@portable:~$ ssh-keygen -t rsa
 +
Generating public/private rsa key pair.
 +
Enter file in which to save the key (/home/user1/.ssh/id_rsa):
 +
Enter passphrase (empty for no passphrase):
 +
Enter same passphrase again:
 +
Your identification has been saved in /home/user1/.ssh/id_rsa.
 +
Your public key has been saved in /home/user1/.ssh/id_rsa.pub.
 +
The key fingerprint is:
 +
f9:32:68:96:ac:a6:78:82:15:9a:9e:77:51:26:20:bb user1@portable
 +
The key's randomart image is:
 +
+--[ RSA 2048]----+
 +
|                |
 +
|. .              |
 +
| o .            |
 +
|.  . +  .      |
 +
| .  * .S        |
 +
|E  +..o .      |
 +
|  . ** o .      |
 +
|    O+o  o      |
 +
|  .+.+          |
 +
+-----------------+
 +
user1@portable:~$
 +
 +
Nous disposons maintenant d'une clé publique '''id_rsa.pub''' et d'une clé privée '''id_rsa''' dans le repertoire '''/home/user1/.ssh'''.
 +
 +
===Installation de la clé publique sur la machine cible===
 +
Le compte utilisateur doit exister sur la machine cible.
 +
cat ~/.ssh/id_rsa.pub |ssh user1@server "cat - >> ~/.ssh/authorized_keys"
 +
user1@server's password:
 +
 +
===Connexion sans mot de passe===
 +
Il est maintenant possible d'établir une connexion ssh quelconque sur la machine server.
 +
 +
Si la clé privée a été générée sans paraphrase, aucun mot de passe ne sera demandée pour établir la connexion
 +
 +
Si le clé privée comporte une paraphrase, celle-ci sera demandée à l'ouverture d'une connexion ssh. Il est possible dans ce cas d'utiliser [[ssh-agent]] pour enregistrer la paraphrase et la fournir quand une connexion ssh démarre.
 +
 +
== [[SSHFS]] ==
 +
Client de système de fichiers basé sur SSH File Transfer Protocol. Il est intégré au distributions ubunutu ou Debian récentes. Il permet de monter un système de fichier distant de manière sécurisée.
 +
 +
Le site de  [http://fuse.sourceforge.net/sshfs.html sshfs]

Version actuelle

Sommaire

Copie de fichiers entre deux hosts

Copie d'un fichier

scp nom_fichier utilisateur@host_cible:/repertoire/fichier

Copie d'une arborescence

 scp -r nom_rep utilisateur@host_cible:/repertoire/nom_rep

Sauvegardes avec ssh

Il est possible de sauvegarder un repertoire vers une machine distante en utilisant ssh

Sauvegarde

tar czf - repertoire |ssh machine_distante "cat > repertoire.tar.gz"

Restauration

ssh machine_distante "cat repertoire.tar.gz" |tar xzf

Connexion à l'aide d'un couple de clé publique - privée

Il est possible de se connecter sur un hote distant avec une clé ssh plutôt qu'avec un mot de passe. Pour cela, il faut générer sur le poste de travail un couple de clé privée - publique. La clé privé ne doit pas être divulguée. Elle peut être protégée par une paraphrase ou nom. La clé publique est destinée à être installée sur les machines cibles.

Génération des clés

user1@portable:~$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/user1/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/user1/.ssh/id_rsa.
Your public key has been saved in /home/user1/.ssh/id_rsa.pub.
The key fingerprint is:
f9:32:68:96:ac:a6:78:82:15:9a:9e:77:51:26:20:bb user1@portable
The key's randomart image is:
+--[ RSA 2048]----+
|                 |
|. .              |
| o .             |
|.   . +  .       |
| .   * .S        |
|E   +..o .       |
|   . ** o .      |
|    O+o  o       |
|  .+.+           |
+-----------------+
user1@portable:~$

Nous disposons maintenant d'une clé publique id_rsa.pub et d'une clé privée id_rsa dans le repertoire /home/user1/.ssh.

Installation de la clé publique sur la machine cible

Le compte utilisateur doit exister sur la machine cible.

cat ~/.ssh/id_rsa.pub |ssh user1@server "cat - >> ~/.ssh/authorized_keys"
user1@server's password: 

Connexion sans mot de passe

Il est maintenant possible d'établir une connexion ssh quelconque sur la machine server.

Si la clé privée a été générée sans paraphrase, aucun mot de passe ne sera demandée pour établir la connexion

Si le clé privée comporte une paraphrase, celle-ci sera demandée à l'ouverture d'une connexion ssh. Il est possible dans ce cas d'utiliser ssh-agent pour enregistrer la paraphrase et la fournir quand une connexion ssh démarre.

SSHFS

Client de système de fichiers basé sur SSH File Transfer Protocol. Il est intégré au distributions ubunutu ou Debian récentes. Il permet de monter un système de fichier distant de manière sécurisée.

Le site de sshfs

Outils personnels