Ssh
只需輸入一次密碼即可打開多個隧道(網關中的所有帳戶都具有相同的通行證)
我想一次打開許多隧道,它們都有相同的長密碼。
,
-f
即,ssh -fN -p 22 usr1@gate1 -L 10001:ip1:22 ssh -fN -p 22 usr2@gate2 -L 10002:ip2:22 ... ssh -fN -p 22 usrn@gaten -L 1000n:ipn:22
我可以在後台打開隧道,這樣我就可以一起執行它們,然後只需連續輸入與我打開的隧道數量一樣多的密碼(
n
)。鑑於我輸入的內容是相同的,我想找到一種只輸入一次的方法,但仍然以安全的方式進行。
我使用https://stackoverflow.com/a/3980904/1424395和https://unix.stackexchange.com/a/59632/269821找到了解決方案
我使用
read -s
將密碼獲取到變數中,然後sshpass
將密碼傳遞給ssh
.#!/usr/bin/env bash # Read Password echo -n Password: read -s password echo sshpass -p $password ssh -fN -p 22 usr1@gate1 -L 10001:ip1:22 sshpass -p $password ssh -fN -p 22 usr2@gate2 -L 10002:ip2:22 ... sshpass -p $password ssh -fN -p 22 usrn@gaten -L 1000n:ipn:22