76 lines
3.1 KiB
Markdown
76 lines
3.1 KiB
Markdown
|
# 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.
|
||
|
~~~
|
||
|
|
||
|
-*- coding: utf-8 mode: markdown -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8:noeol:binary
|