Se você quer iniciar um cliente ssh, você pode fazer isso no bash:
#files are .ssh/config and ~/.ssh/foo.config
alias ssh='ssh -F <(cat .ssh/config ~/.ssh/foo.config)'
então você usa o ssh normalmente e ele terá ambos os arquivos lidos nessa ordem.
Para o daemon do servidor sshd
você poderia fazer o mesmo, apenas usar -f
ao invés de -F
e escreva isto onde você inicia o daemon diretamente. você não precisa de um alias.
Uma segunda possibilidade, de acordo com a página man, é colocar a configuração do sistema /etc/ssh/ssh_config
e o usuário um em ~/.ssh/config
.
Atualizar Aparentemente, há algum problema com algumas versões bash e como os dispositivos são criados. (Vejo http://bugs.alpinelinux.org/issues/1465 )
Esta é uma solução alternativa (embora na minha opinião feia):
mkfifo /tmp/ssh_fifo
cat ~/.ssh/config ~/.ssh/foo.config >/tmp/ssh_fifo &
ssh -F /tmp/ssh_fifo myserver
rm /tmp/ssh_fifo
então se você quiser, você pode criar uma função dele (ou um 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"
}