sshpass -p '1234567*' ssh -L 1080:192.168.0.1:2222 [email protected] -p 4422 -f -C -N
上述代码适用于 macOS(通过 gateway.com:4422 使用用户名 admin 和密码 1234567* 创建到 192.168.0.1:2222 的 1080 隧道)。\
它在 Linux 上不起作用 - 该进程似乎立即运行并终止。
sshpass -p '1234567*' ssh -L 1080:192.168.0.1:2222 [email protected] -p 4422 -f -C -N
上述代码适用于 macOS(通过 gateway.com:4422 使用用户名 admin 和密码 1234567* 创建到 192.168.0.1:2222 的 1080 隧道)。\
它在 Linux 上不起作用 - 该进程似乎立即运行并终止。
sshpass
+的问题ssh
是ssh
首先验证用户,派生一个孩子来处理连接,然后退出。但是sshpass
一旦父母ssh
退出,就会在孩子有机会将自己与终端(由创建的伪ttysshpass
)分离之前从孩子下面拉地毯,因此它将被SIGHUP
信号杀死。因此这将起作用:
sshpass -p '1234567*' sh -c 'ssh -L 1080:192.168.0.1:2222 [email protected] -p 4422 -f -C -N && sleep .1'