Dites que je veux configurer mes ssh
options pour 30 serveurs avec la même configuration dans mon .ssh
config
fichier:
host XXX
HostName XXX.YYY.com
User my_username
Compression yes
Ciphers arcfour,blowfish-cbc
Protocol 2
ControlMaster auto
ControlPath ~/.ssh/%r@%h:%p
IdentityFile ~/.ssh/YYY/id_rsa
où la seule chose qui change entre ces 30 machines est XXX
.
Au lieu de répéter 30 fois la structure ci-dessus dans mon config
fichier, existe-t-il un autre moyen de définir une gamme de machines?
%h
fonctionnalité est apparue dans la version 5.6 d’OpenSSH . Je me demandais pourquoi je ne l'avais pas vu auparavant - la version de Debian Squeeze est la 5.5.config
, vous pouvez toujours écrire un simple script qui génère votreconfig
.Pour minimiser la configuration, vous pouvez en avoir un
.ssh/config
comme celui-ci.Host X01 X02 ...
pourrait être remplacé parHost *
si chaque hôte a la configuration suivantela source
Host X01 X02 ...
être remplacé par*.YYY.com
? Cela semble un peu plus gérable si cela fonctionne.Simplement utiliser
*
Voir
man ssh_config
:la source
?
partout où je veux qu'il soit remplacé par le motif correspondant au*
signe?config
entrée, mais les paramètres de l'hôte sont fixes (les modèles ne peuvent pas être utilisés pour modéliser les paramètres). Ai-je tort?Host *
entrée et d’avoir une entrée distincte pour chaqueHost XXX
élément composé uniquement des parties qui varient (c’est-à-dire laHostname XXX.YYY.ZZZ
ligne).À partir des réponses de Ignacio Vazquez-Abrams et H.-Dirk Schmitt, on peut ajouter ce qui suit à .ssh / config
puis, par exemple, vous pouvez vous connecter en tant que [email protected] en
la source
%h
, non%h.YYY.com
cela fonctionne pour moi:
Cela permet d'utiliser des noms dans le domaine et de changer le nom d'utilisateur:
la source
itslogprd05
hôte existe dans les deux domaines?xxx.auckland.ac.nz
gagne, je suppose?