nutools/doc/ussh.twp

81 lines
3.2 KiB
Markdown

# -*- coding: utf-8 mode: markdown -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8
##@creator: jclain
##@created: 27/04/2016 03:19
##@modifier: jclain
##@changecount: 1
##@tags:
##@title: ussh
{{{
ussh: se connecter par ssh à un ou plusieurs hôtes
USAGE
ussh [options] hosts
ussh [options] @hostsfile
ussh -r hosts
ussh --parse hosts
OPTIONS
hosts
@hostsfile
Spécifier un ou plusieurs hôtes distants sur lequels faire la connexion.
Pour spécifier plusieurs hôtes, il faut les séparer par un espace ou le
caractère ':', e.g. 'host1 host2' ou 'host1:host2'. Si la spécification
contient les caractères { et }, l'expansion est effectuée, e.g
'root@{host1,host2}.univ.run'
La forme @hostsfile permet de lire la liste des hôtes depuis le fichier
hostsfile, à raison d'un hôte par ligne.
Toutes les options de ssh sont reconnues. Les options longues suivantes sont
reconnues comme alias de certaines options courtes de ssh:
--quiet
alias de -q, activer le mode non verbeux
--tty
alias de -t, forcer l'allocation d'un TTY
--login USER
alias de -l, spécifier le user avec lequel se connecter
--port PORT
alias de -p, spécifier le port sur lequel se connecter
Les options suivantes sont exclusives à ce script:
-d, --domain DOMAIN
Spécifier un domaine par défaut pour les hôtes qui sont spécifiés sans
domaine.
-z, --ssh SSH
Spécifier l'exécutable à utiliser pour lancer ssh.
-r, --remove
Lancer 'ssh-keygen -R' pour chacun des hôtes spécifiés avant de s'y
connecter. Par exemple:
ussh -r host.tld
est équivalent à:
ssh-keygen -R host.tld
ssh-keygen -R host
ssh-keygen -R 10.10.1.5
ssh host.tld
si l'adresse ip de host.tld est 10.10.1.5
Quand cette option est spécifié, l'option -j est reconnue et permet de
NE PAS se reconnecter à l'hôte juste après avoir nettoyé les clés. Avec
l'option -j, TOUS les arguments sont des noms d'hôte puisqu'aucune
connexion n'est effectuée.
--exec
--no-exec
Avec --exec, si un seul hôte est spécifié, lancer le processus ssh avec
exec, pour éviter d'encombrer la mémoire. C'est l'option par défaut.
Avec --no-exec, ne jamais utiliser exec pour lancer ssh.
--parse
Afficher la définition des variables ssh, options, hosts et args qui
permettent d'effectuer la connexion à partir d'un autre script. Exemple:
eval "$(ussh --parse args...)"
for host in "${hosts[@]}"; do
${exec:+exec} "$ssh" "${options[@]}" "$host" "${args[@]}"
done
--cc
Assumer que nutools est installé sur l'hôte distant, et y lancer uwatch
avec l'option --cc, pour permettre de garder la connexion active dans le
cadre d'une redirection de port.
Si la variable UTOOLS_USSH_RSYNC_SUPPORT contient une valeur non vide, l'analyse
des arguments s'arrête à la première valeur qui n'est pas une option, afin de
permettre l'utilisation de ce script avec l'option -e de rsync.
}}}