... | ... | @@ -39,10 +39,11 @@ Pour les utilisateurs du LPNHE, les *login/password* de connexion à la passere |
|
|
ils vous sont communiqués à l'issue de la création de votre compte.
|
|
|
|
|
|
> **Remarque**
|
|
|
>
|
|
|
> Les IPs des passerelles sont enregistrées dans le serveur DNS. Vous pouvez donc utiliser le nom de domaine d'une passerelle plutôt que son IP,
|
|
|
> en remplaçant `IP_PROJECT_SSHGATE` par `lpncloud-project.in2p3.fr` où *project* est le nom du projet auquel vous appartenez.
|
|
|
|
|
|
Il faut maintenant configurer le client. Pour cela, créer
|
|
|
Il faut maintenant configurer le client. Pour cela, créez
|
|
|
le fichier `${HOME}/.cloud.env` avec le contenu suivant (les
|
|
|
valeurs *username*, *password* et *projectname* sont à remplacer par celles qui vous
|
|
|
ont été transmises lors de la création de votre compte sur le service) :
|
... | ... | @@ -155,8 +156,33 @@ $ ssh-keygen -t rsa -b 4096 |
|
|
Generating public/private rsa key pair.
|
|
|
Enter file in which to save the key (/home/username/.ssh/id_rsa):
|
|
|
```
|
|
|
Taper sur la touche `Enter` pour accepter le chemin et le nom par défaut du fichier dans lequel votre clé sera contenue.
|
|
|
Il vous est ensuite demandé de rentrer une *passphrase* (non vide). Une fois cette opération terminée, vous trouverez
|
|
|
dans le dossier `/home/username/.ssh/`, deux fichiers nommés `id_rsa` et `id_rsa.pub`. Le premier contient la clé SSH privée;
|
|
|
le second la clé publique qui lui est associée.
|
|
|
|
|
|
> **IMPORTANT**
|
|
|
> Ne jamais communiquer la clé privée.
|
|
|
|
|
|
Pour vous connecter à un serveur à l'aide de votre clé, il faut que votre clé publique soit renseignée dans le fichier `/home/username/.ssh/authorized_keys`
|
|
|
de la machine distante. Pour ce faire, il faut utiliser la commande `ssh-copy-id`. Par exemple, pour vous connecter via clé SSH sur la passerelle de votre projet,
|
|
|
il faut taper :
|
|
|
``` {.sourceCode .console}
|
|
|
ssh-copy-id -i ${HOME}/.ssh/id_rsa.pub username@IP_PROJECT_SSHGATE
|
|
|
```
|
|
|
Vous pourrez dès lors vous connecter depuis n'importe quelle poste de travail sur lequel se trouve votre clé privée.
|
|
|
|
|
|
|
|
|
2. Pour se connecter aux VMs par clé SSH, il est nécessaire d'enregistrer sa clé SSH publique dans Openstack.
|
|
|
En supposant que vos clés publique et privée se trouvent que sur votre poste de travail, il faut d'abord copier
|
|
|
la clé publique sur la passerelle :
|
|
|
``` {.sourceCode .console}
|
|
|
$ scp ${HOME}/.ssh/id_rsa.pub username@IP_PROJECT_SSHGATE:.ssh/
|
|
|
```
|
|
|
Il faut ensuite se connecter sur la passerelle et utiliser la commande `openstack keypair create` pour ajouter votre clé publique
|
|
|
(en oubliant pas de *sourcer* le fichier `.cloud.env` comme expliqué avant si ce n'est pas déjà fait) :
|
|
|
``` {.sourceCode .console}
|
|
|
$ ssh username@IP_PROJECT_SSHGATE
|
|
|
$ openstack keypair create --public-key=${HOME}/.ssh/id_rsa.pub YOUR_KEY_NAME
|
|
|
$ openstack keypair list
|
|
|
+---------------+-------------------------------------------------+
|
... | ... | @@ -165,7 +191,6 @@ $ openstack keypair list |
|
|
| YOUR_KEY_NAME | 33:91:4b:38:52:63:1d:18:7b:e0:e3:0d:3b:63:ce:4b |
|
|
|
+---------------+-------------------------------------------------+
|
|
|
```
|
|
|
La commande `ssh-keygen -t rsa -b 4096` génère par défaut une clé privée `id_rsa` et une clé publique `id_rsa.pub` dans le dossier `.ssh/`. La clé privée ne doit jamais être communiquée.
|
|
|
|
|
|
# Gestion des machines virtuelles
|
|
|
|
... | ... | @@ -428,13 +453,17 @@ Les identifiants de connexions pour les images les plus fréquemment utilisées |
|
|
page](https://docs.openstack.org/image-guide/obtain-images.html) de la documentation officielle d'`Openstack`.
|
|
|
|
|
|
> **Remarques**
|
|
|
> Pour se connecter directement à la VM, il est possible de faire un tunnel SSH en rajoutant
|
|
|
>
|
|
|
> 1. Pour se connecter à la VM depuis la passerelle comme l'indique la commande ci-dessus, il est nécessaire que la
|
|
|
> clé privée SSH se trouve dans le dossier `.ssh/` de votre *home* utilisateur de la passerelle.
|
|
|
>
|
|
|
> 2. Pour se connecter directement à la VM depuis un poste de travail, il est possible de faire un tunnel SSH en ajoutant
|
|
|
> dans le fichier `~/.ssh/config` les instructions suivantes :
|
|
|
> ``` {.sourceCode .console}
|
|
|
> Host MY_VM_NAME
|
|
|
> User OS_LOGIN
|
|
|
> Hostname IP_MY_VM
|
|
|
> ForwardAgent yes
|
|
|
> ForwardAgent no
|
|
|
> ProxyCommand ssh -XW %h:%p USER_NAME@IP_PROJECT_SSHGATE
|
|
|
> ```
|
|
|
> Noter qu'ici `MY_VM_NAME` peut prendre n'importe quel nom. Pour se connecter à la VM,
|
... | ... | @@ -442,6 +471,15 @@ page](https://docs.openstack.org/image-guide/obtain-images.html) de la documenta |
|
|
> ``` {.sourceCode .console}
|
|
|
> $ ssh MY_VM_NAME
|
|
|
> ```
|
|
|
> Au lieu de compléter le fichier `.ssh/config`, on peut taper directement la commande correspondante :
|
|
|
> ``` {.sourceCode .console}
|
|
|
> ssh -o ProxyCommand="ssh -XW %h:%p USER_NAME@IP_PROJECT_SSHGATE" OS_LOGIN@IP_MY_VM
|
|
|
> ```
|
|
|
> 3. Il peut être pratique d'utiliser l'option *Agent Forwarding* pour pouvoir propager sa clé SSH
|
|
|
> sur différents serveurs notamment lorsqu'on se connecte à un serveur via plusieurs passerelles.
|
|
|
> Il faut pour cela avoir un *agent ssh* sur son poste de travail, puis activer le `ForwardAgent`
|
|
|
> dans le fichier `.ssh/config` en remplaçant *no* par *yes* ou tout simplement de rajouter l'option
|
|
|
> `-A` à la commande `ssh`.
|
|
|
|
|
|
Personnalisation des machines virtuelles
|
|
|
----------------------------------------
|
... | ... | |