Si desea iniciar un cliente ssh, puede hacerlo en bash:
#files are .ssh/config and ~/.ssh/foo.config
alias ssh='ssh -F <(cat .ssh/config ~/.ssh/foo.config)'
entonces usas ssh normalmente y tendrá ambos archivos leídos en ese orden.
Para el demonio del servidor sshd
, puede hacer lo mismo, solo use en -f
lugar de -F
y escriba esto donde inicie el demonio directamente. No necesitas un alias.
Una segunda posibilidad de acuerdo con la página del manual es colocar la configuración de todo el sistema /etc/ssh/ssh_config
y la del usuario ~/.ssh/config
.
Actualización Aparentemente hay algún problema con algunas versiones de bash y cómo se crean los dispositivos. (ver http://bugs.alpinelinux.org/issues/1465 )
Esta es una solución (aunque en mi opinión es fea):
mkfifo /tmp/ssh_fifo
cat ~/.ssh/config ~/.ssh/foo.config >/tmp/ssh_fifo &
ssh -F /tmp/ssh_fifo myserver
rm /tmp/ssh_fifo
así que si lo desea, puede crear una función a partir de él (o 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"
}