Bir ssh istemcisi başlatmak istiyorsanız, bunu bash olarak yapabilirsiniz:
#files are .ssh/config and ~/.ssh/foo.config
alias ssh='ssh -F <(cat .ssh/config ~/.ssh/foo.config)'
o zaman ssh'yi normal kullanırsınız ve her iki dosyayı da bu sırada okur.
Sunucu arka plan programı sshd
için de aynısını yapabilirsiniz, sadece -f
yerine kullanın -F
ve bunu doğrudan arka plan programı başlattığınız yere yazın. takma isme ihtiyacın yok.
Kılavuz sayfasına göre ikinci bir olasılık, sistemin geniş bir konfigürasyonunu /etc/ssh/ssh_config
ve kullanıcıyı bir tane koymasıdır ~/.ssh/config
.
Güncelleme Görünüşe göre bazı bash sürümlerinde ve cihazların nasıl oluşturulduğuna dair bir sorun var. (bkz. http://bugs.alpinelinux.org/issues/1465 )
Bu bir geçici çözümdür (bence çirkin olsa da):
mkfifo /tmp/ssh_fifo
cat ~/.ssh/config ~/.ssh/foo.config >/tmp/ssh_fifo &
ssh -F /tmp/ssh_fifo myserver
rm /tmp/ssh_fifo
Dolayısıyla, isterseniz, bunun dışında bir işlev (veya bir komut dosyası) oluşturabilirsiniz:
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"
}