Changeset 117874 in spip-zone


Ignore:
Timestamp:
Sep 17, 2019, 7:26:56 AM (17 months ago)
Author:
tofulm@…
Message:

Harmonisation pour la connexion ssh, plusieurs solutions :

  • on peut simplement definir un host via la fichier de configuration .ssh/config (dans ce cas pas besoin de renseigner les autres champs)
  • on peut renseigner toutes les infos : user / port / hostName et facultatif un chemin pour la cle SSH
Location:
_outils_/spip-cli/trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • _outils_/spip-cli/trunk/README.md

    r117863 r117874  
    7272Fichier de configuration synchroSPIP.json
    7373* Il y a 2 façons pour ouvrir une connexion ssh :
    74         * via : user / hostName / port ex : `ssh toto@spip.net -p 1234`
    75         * via: host (il faut l'avoir défini dans .ssh/config) ex: `ssh mon_host_spip`
     74        * via : user / hostName / port ex : `ssh toto@spip.net -p 1234`, si chemin_cle est defini, on pourra choisir une cle ssh dans un dossier autre que .ssh
     75        * via: host (il faut l'avoir défini dans .ssh/config) ex: `ssh mon_host_spip` dans ce cas, pas besoin de renseigner les autres champs dans config_ssh
    7676        * Il faut avoir une cle ssh
    7777* Configuration pour le rsync : Chaque ligne représente : chemin local => chemin distant:
  • _outils_/spip-cli/trunk/src/Command/SynchroBdd.php

    r117861 r117874  
    133133                        $SSH = "$ssh->user@$ssh->hostName";
    134134                        if ($ssh->port) {
    135                                 $SSH .= " -i ~/.ssh/$ssh->nom_cle -p $ssh->port";
     135                                $SSH .= " -i $ssh->chemin_cle -p $ssh->port";
    136136                        }
    137137                }
  • _outils_/spip-cli/trunk/src/Command/SynchroFichiers.php

    r117861 r117874  
    7878                                $io->text('');
    7979                                $port = $config->port ? $config->port : 22;
     80                                if ($config->host) {
     81                                        $SSH = $config->host;
     82                                } else {
     83                                        $SSH = "$config->user@$config->hostName";
     84                                }
     85                                $cle_ssh= '';
     86                                $port = '';
     87                                if ($config->chemin_cle) {
     88                                        if ($config->port) {
     89                                                $port = "-p $config->port";
     90                                        }
     91                                        $cle_ssh = "-i $config->chemin_cle $port";
     92                                }
    8093                                $args = $verbeux ? "-azv" : "-az";
    81                                 $commande_rsync = "rsync -e 'ssh -i ~/.ssh/$config->nom_cle -p $port' $args --delete-after $config->user@$config->hostName:$distant $local";
     94                                $commande_rsync = "rsync -e 'ssh $cle_ssh' $args --delete-after $SSH:$distant $local";
    8295                                if ($verbeux) {
    8396                                        $io->text('commande rsync :');
Note: See TracChangeset for help on using the changeset viewer.