@thrig มีคำตอบที่ถูกต้องตามความต้องการของคุณในการทำสิ่งนี้ภายใน .ssh/config
หนึ่งอาจพิจารณาใช้ฟังก์ชั่นที่มีค่าเริ่มต้นเพื่อให้คำสั่งช่องสัญญาณอื่น ๆ ได้อย่างรวดเร็ว (โดยเฉพาะถ้าอุโมงค์ไม่เปลี่ยนแปลง แต่เพียงโฮสต์)
sshn() {
# set your desired host and port forwarding as default
# and allow them to be passed in if you should need it
host="${1:-devdb}"
port="${2:-1234:127.0.0.1:1234}"
# now all you have to do is `sshn` and it will connect
echo "executing ssh -N $host -L $port"
ssh -N "$host" -L "$port"
}
นี่คือสามตัวอย่างของการใช้งาน: โดยไม่มี args ค่าเริ่มต้นที่ระบุในฟังก์ชั่นที่ใช้:
$ sshn
executing -N devdb -L 1234:127.0.0.1:1234
ด้วยค่าเริ่มต้นทันเนลรันบนโฮสต์อื่น:
$ sshn host2
executing ssh -N host2 -L 1234:127.0.0.1:1234
ด้วยค่าเริ่มต้นทั้งสองให้เรียกใช้แบบเต็มครั้งเดียวไปยังโฮสต์ / อุโมงค์ใหม่:
$ sshn host3 12345:127.0.0.1:12345
executing ssh -N host3 -L 12345:127.0.0.1:12345