Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révisionLes deux révisions suivantes | ||
technique:ssh [2019/12/17 09:35] – [Créer une clef] tho | technique:ssh [2021/12/22 14:56] – francoisa | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
====== SSH ====== | ====== SSH ====== | ||
+ | |||
+ | ===== Linux ===== | ||
===== Créer une clef ===== | ===== Créer une clef ===== | ||
Ligne 5: | Ligne 7: | ||
pour avoir une sécurité suffisante avec le maximum de compatibilité il faut utiliser la commande : | pour avoir une sécurité suffisante avec le maximum de compatibilité il faut utiliser la commande : | ||
+ | < | ||
ssh-keygen -t ecdsa -b 521 | ssh-keygen -t ecdsa -b 521 | ||
+ | |||
+ | </ | ||
Copier la clef sur le serveur : | Copier la clef sur le serveur : | ||
- | Depuis l'ordi avec la clef privée | + | Depuis l'ordi avec la clef privée |
- | Depuis un autre ordi ssh-copy-id | + | < |
+ | ssh-copy-id -i id_XXXX.pub user@machine | ||
+ | </ | ||
+ | |||
+ | Depuis un autre ordi | ||
+ | |||
+ | < | ||
+ | ssh-copy-id -f -i id_XXXX.pub user@machine | ||
+ | |||
+ | </ | ||
+ | |||
+ | ===== Transformer une clé Putty (ppk) en clé Open SSH ===== | ||
+ | |||
+ | < | ||
+ | sudo apt-get install putty-tools | ||
+ | |||
+ | </ | ||
+ | |||
+ | Récupérer votre clé //.ppk// que vous mettez admettons dans **Téléchargements** (nommée cle.ppk). | ||
+ | |||
+ | Dans le terminal, aller dans le bon répertoire **/ | ||
+ | < | ||
+ | puttygen cle.ppk -O public-openssh -o id_rsa.pub | ||
+ | puttygen cle.ppk -O private-openssh -o id_rsa | ||
+ | |||
+ | </ | ||
+ | |||
+ | Pour la 2e commande, il va vous demander votre passphrase si vous en aviez configuré une. | ||
+ | |||
+ | Ensuite, déplacer les clés dans le répertoire / | ||
+ | |||
+ | Ne pas oublier: | ||
+ | |||
+ | < | ||
+ | chmod 0600 id_rsa | ||
+ | |||
+ | </ | ||
+ | |||
+ | Pour que la clé ne soit pas accessible à tout le monde. | ||
===== Utiliser la clef ===== | ===== Utiliser la clef ===== | ||
Par exemple pour ne pas redonner le mot de passe de déverrouillage à chaque connexion ssh (rend l' | Par exemple pour ne pas redonner le mot de passe de déverrouillage à chaque connexion ssh (rend l' | ||
+ | |||
+ | ===== Partager un terminal à plusieurs ===== | ||
+ | |||
+ | Si vous souhaitez partager à plusieurs le contenu d'un terminal sur un PC Linux (par exemple un utilisateur sur le PC local et un autre à distance), il vous faut : | ||
+ | |||
+ | * un accès chacun au PC : 1 en direct et un autre à distance en SSH, ou bien les 2 à distance en SSH | ||
+ | * que les 2 utilisateurs aient accès au même compte utilisateur (root ou un utilisateur commun) | ||
+ | * installer un outil de partage de terminal sur le PC sur lequel on partage le terminal : [[https:// | ||
+ | |||
+ | ==== a. Procédure avec screen ==== | ||
+ | |||
+ | - un des 2 utilisateurs lance un screen en nommant une session \\ '' | ||
+ | - Le second utilisateur peut lister les sessions screen existantes avec : \\ '' | ||
+ | - Puis il lance un screen pour se raccrocher à une session existante \\ '' | ||
+ | - Et c'est bon, tout le monde voit ou peut interagir dans le screen commun. Attention aux frappes simultanées ! :-) | ||
+ | - Pour sortir de la session et se déconnecter du screen qui devient libre : \\ screen -d \\ Attention, si on quitte le termnial avec Ctrl+d ou exit, la session screen est tuée, terminée. Il faut en recrééer une nouvelle pour s'y rattacher | ||
+ | |||
+ | ==== b. Procédure avec tmux (terminal multiplexer) ==== | ||
+ | |||
+ | Utile pour partager un accès à distance ou scinder son terminal | ||
+ | |||
+ | A détailler, mais un peu pareil : [[http:// | ||
+ | |||
+ | Des raccourcis utiles : https:// | ||
+ | |||
+ | Installer tmux sur le serveur / son poste : | ||
+ | < | ||
+ | |||
+ | apt install tmux | ||
+ | |||
+ | </ | ||
+ | |||
+ | Créer une session tmux sur le serveur : | ||
+ | |||
+ | < | ||
+ | tmux new -s nomsession | ||
+ | |||
+ | </ | ||
+ | |||
+ | Depuis une connexion ssh sur le même serveur : | ||
+ | |||
+ | lister les sessions tmux ouvertes | ||
+ | |||
+ | < | ||
+ | tmux ls | ||
+ | |||
+ | </ | ||
+ | |||
+ | Rejoindre une session existante : | ||
+ | |||
+ | < | ||
+ | tmux d -t nomsession | ||
+ | |||
+ | </ | ||
+ | |||
+ | Raccourcis avec Ctrl +b (ou possible de le rebind) : | ||
+ | |||
+ | * s : liste des sessions | ||
+ | * c : nouvelle fenêtre (plusieurs possiles pour une même session) | ||
+ | * & : tue la fenêtre | ||
+ | * 0 à 9 : sélectionne la fenêtre | ||
+ | * n : fenêtre suivante | ||
+ | * p : fenêtre précédente | ||
+ | * w : liste des fenêtres et y accéder | ||
+ | * " : scinder le panneau horizontalement | ||
+ | * % : scinder le panneau verticalement | ||
+ | * o : basculer au panneau suivant | ||
+ | * x : fermer le panneau (avec confirmation) | ||
+ | * ! : fermer tous les autres panneaux | ||
+ | * z : maximiser / reduire un panneau | ||
+ | * d : passer la session en arrière plan et revenir au terminal (tmux attach pour revenir) | ||
+ | * ? : voir les raccourcis | ||
+ | |||
+ | **TODO** | ||
+ | |||
+ | ===== Utiliser SSH à travers un relais SSH ===== | ||
+ | |||
+ | Copier un fichier local vers serveur à travers un relais ssh : | ||
+ | |||
+ | < | ||
+ | scp ' | ||
+ | |||
+ | </ | ||
+ | |||
+ | Copier un fichier distant vers local à travers un relais ssh : | ||
+ | |||
+ | < | ||
+ | scp ' | ||
+ | |||
+ | </ | ||
+ | |||
+ | ===== Windows ===== | ||
+ | |||
+ | Vous aurez besoin de [[https:// | ||
+ | |||
+ | Pour générer la clé, nous pouvons utiliser PUTTYgen. Le lancer, et cliquer sur **Generate**. Il faut ensuite bouger la souris sur le rectancle pour générer une clé aléatoire. Vous pouvez renseigner une "// | ||
+ | |||
+ | Par la suite il faudra copier la clé publique sur le serveur ou la machine que vous voulez joindre. | ||
+ | |||
+ | Dans **Session**, | ||
+ | |||
+ | Dans **Connection** | ||
+ | |||
+ | Puis dans **Connection** | ||
+ | |||
+ | Retourner dans **Session**, | ||
+ | |||
+ | Ensuite cliquer sur **Open**. | ||
+ | |||
+ | Il vous faudra renseigner votre passphrase lors de la connexion. | ||
+ | |||