打开多个隧道,只需输入一次密码(网关中的所有帐户都具有相同的通行证)

打开多个隧道,只需输入一次密码(网关中的所有帐户都具有相同的通行证)

我想一次打开许多隧道,它们都有相同的长密码。

-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)。

鉴于我输入的内容是相同的,我想找到一种方法,只需输入一次,但仍然以安全的方式进行。

答案1

我找到了解决方案https://stackoverflow.com/a/3980904/1424395https://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

相关内容