Si vous voulez démarrer un client ssh, vous pouvez le faire en bash:
#files are .ssh/config and ~/.ssh/foo.config
alias ssh='ssh -F <(cat .ssh/config ~/.ssh/foo.config)'
Ensuite, vous utilisez ssh normalement et les deux fichiers seront lus dans cet ordre.
Pour le démon de serveur, sshd
vous pouvez faire la même chose, utilisez simplement -f
au lieu de -F
et notez-le où vous démarrez directement le démon. vous n'avez pas besoin d'un alias.
Une deuxième possibilité, selon la page de manuel, est de mettre la configuration système /etc/ssh/ssh_config
et celle de l'utilisateur ~/.ssh/config
.
Mise à jour Apparemment, il existe un problème avec certaines versions de bash et la façon dont les périphériques sont créés. (voir http://bugs.alpinelinux.org/issues/1465 )
Ceci est une solution de contournement (bien que moche à mon avis):
mkfifo /tmp/ssh_fifo
cat ~/.ssh/config ~/.ssh/foo.config >/tmp/ssh_fifo &
ssh -F /tmp/ssh_fifo myserver
rm /tmp/ssh_fifo
alors si vous voulez, vous pouvez créer une fonction (ou un script):
ssh() {
tmp_fifo=$(mktemp -u --suffix=_ssh_fifo)
mkfifo "$tmp_fifo"
cat ~/.ssh/config ~/.ssh/foo.config >"$tmp_fifo" 2>/dev/null &
/usr/bin/ssh -F "$tmp_fifo" "$@"
rm "$tmp_fifo"
}