Якщо ви хочете запустити ssh-клієнт, ви можете зробити це в bash:
#files are .ssh/config and ~/.ssh/foo.config
alias ssh='ssh -F <(cat .ssh/config ~/.ssh/foo.config)'
тоді ви звичайно використовуєте ssh, і в цьому порядку будуть прочитані обидва файли.
Для демона сервера sshd
ви можете зробити те саме, просто використовуйте -f
замість цього -F
і запишіть це там, де ви безпосередньо запускаєте демон. вам не потрібен псевдонім.
Друга можливість відповідно до сторінки man - це ввести в систему конфігурацію системи /etc/ssh/ssh_config
та користувача ~/.ssh/config
.
Оновлення Мабуть, є проблема з деякими версіями bash та способами створення пристроїв. (див. http://bugs.alpinelinux.org/isissue/1465 )
Це вирішення (хоча, на мій погляд, негарне):
mkfifo /tmp/ssh_fifo
cat ~/.ssh/config ~/.ssh/foo.config >/tmp/ssh_fifo &
ssh -F /tmp/ssh_fifo myserver
rm /tmp/ssh_fifo
тому якщо ви хочете, ви можете створити з нього функцію (або сценарій):
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"
}