Développeur FullStack & Devops

scp – 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. Utiliser pour cela SCP sous Linux et son homologue pour Windows WinScp ou PSCP.exe en ligne de commande (de la suite Putty). 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/
et dans l’autre sens, local vers serveur SSH distant :
scp /dossier_local/fichier_local username_distant@nom_du_serveur_ssh_distant:/dossier_distant/

ssh-keygen

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

Pour bénéficier d’une authentification forte (lire ce post) :
ssh-keygen -o -a 100 -t ed25519
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]

ssh-copy-id – diffusion de 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

  • 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)

Liens

Renforcer la sécurité de son serveur SSHD Proxyfier SSH avec SSLH ou Squid  
rédigé par behrouze le 26/08/2018
Cheat SheetsOutilsVidéosA propos