หากคุณต้องการเริ่มต้นไคลเอ็นต์ ssh คุณสามารถทำได้ใน bash:
#files are .ssh/config and ~/.ssh/foo.config
alias ssh='ssh -F <(cat .ssh/config ~/.ssh/foo.config)'
จากนั้นคุณใช้ ssh ตามปกติและมันจะมีไฟล์ทั้งสองอ่านตามลำดับ
สำหรับเซิร์ฟเวอร์ daemon sshd
คุณสามารถทำได้เหมือนกันเพียงแค่ใช้-f
แทน-F
และจดสิ่งนี้ไว้ในตำแหน่งที่คุณเริ่ม daemon โดยตรง คุณไม่ต้องการนามแฝง
ความเป็นไปได้ที่สองตามหน้าคนที่จะนำการกำหนดค่ากว้างในระบบและผู้ใช้คนหนึ่งใน/etc/ssh/ssh_config
~/.ssh/config
อัปเดตเห็นได้ชัดว่ามีปัญหาบางอย่างกับเวอร์ชั่นทุบตีและวิธีการสร้างอุปกรณ์ (ดูhttp://bugs.alpinelinux.org/issues/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"
}