Développeur FullStack & Devops

Notes et mémos techniques

SSH tips & tricks

Générer une pair de clé publique/privée SSH

ssh-keygen

Pour bénéficier d'une authentification forte (lire ce post) :

ssh-keygen -o -a 100 -t ed25519

Le nom de cette clé ne sera peut être pas reconnu automatiquement par le client ssh, il peut alors etre utile de modifier son fichier ~/.ssh/config  (man ssh_config ) pour y spécifier la nouvelle clé par défaut avec la directive:

IdentityFile ~/.ssh/id_ed25519

Modifier la passphrase SSH

Pour modifier ou supprimer la passphrase lié à la clé SSH privée (celle qui est en locale et qui nous sert à s'authentifier sur les serveur distant):

ssh-keygen -p [-P old_passphrase] [-N new_passphrase] [-f keyfile]

Diffuser sa clé publique via SSH

Dans le cas particulier de la copie de notre clé publique ssh sur une autre machine, une commande forte utile est ssh-copy-id  (demande le password):

ssh-copy-id username@destination

Exécution distant parallélisée

  • Ansible : logiciel de gestion de configurations qui permet d'industrialiser le déploiement des applications sur des serveurs ssh
  • parallel-ssh (Parallel versions of SSH-based tools): regroupe un ensemble de commandes (pssh, pscp, prsync, pnuke, and pslurp) permettant d'exécuter les même commandes sur plusieurs machines distantes.
  • Fabric (Simple Pythonic remote deployment tool): outil contrôlable via un script python (article sur l'usage puis sur Linuxjournal et un autre sur plus général sur les outils devops)

Copie de fichiers via SSH

Il est possible d'utiliser une connexion SSH pour copier un fichier entre 2 machines du réseau de façon sécurisée avec scp et son homologue pour Windows WinScp ou pscp.exe PuTTY Secure Copy client de la suite Putty.

Télécharger

Pour copier d'un serveur SSH distant vers un répertoire local :

scp username_distant@nom_du_serveur_ssh_distant:/dossier_distant/fichier_distant /dossier_distant/tmp/

Uploader

Dans l'autre sens, local vers serveur SSH distant :

scp /dossier_local/fichier_local username_distant@nom_du_serveur_ssh_distant:/dossier_distant/

Liens

Renforcer la sécurité de son serveur SSHD Proxyfier SSH avec SSLH ou Squid

admin-linux
linux
memo
ssh
tips
linux
rédigé le 26/08/18, mis à jour le 08/03/22 par Behrouze
A proposCheat SheetsOutilsVidéos