如何从 bash 脚本启动多个 ssh 会话
How to start multiple ssh-session from a bash script
在家办公,我需要每天早上启动一些连接到我公司的 ssh 隧道,以通过端口转发到我的桌面来获取我的内部工作场所应用程序网站。
每个 ssh 调用都在他自己的脚本中,每个 ssh 隧道都需要一个关键字来解锁该连接所需的 ssh 密钥。
我厌倦了每天早上手动启动这些脚本(启动 ssh 隧道),我想同时启动它们并只输入一次关键字。
喜欢
!/bin/sh
./start-tunnel-app1.sh &
./start-tunnel-app2.sh &
...
./start-tunnel-appX.sh
和开始隧道-app1.sh喜欢
!/bin/sh
~/.ssh/mykeyfile -L 8000:companyserver1:8000 mylogin@companygateway.com
密钥文件受密码保护。
如何正确地做这样的事情?我只需要启动一个脚本并输入一次密码就可以像这样启动多个 ssh 会话?
非常感谢
如this Q/A中所述,使用-f
而不是&
会更好。
并且在启动脚本之前启动 ssh-agent
以创建 ssh
的无密码启动
您可以建立第一个带身份验证的 ssh 连接,并将此开放连接用于其他 ssh 会话(无需身份验证)。请参阅 man ssh 和选项 ControlMaster .
在家办公,我需要每天早上启动一些连接到我公司的 ssh 隧道,以通过端口转发到我的桌面来获取我的内部工作场所应用程序网站。 每个 ssh 调用都在他自己的脚本中,每个 ssh 隧道都需要一个关键字来解锁该连接所需的 ssh 密钥。
我厌倦了每天早上手动启动这些脚本(启动 ssh 隧道),我想同时启动它们并只输入一次关键字。
喜欢
!/bin/sh
./start-tunnel-app1.sh &
./start-tunnel-app2.sh &
...
./start-tunnel-appX.sh
和开始隧道-app1.sh喜欢
!/bin/sh
~/.ssh/mykeyfile -L 8000:companyserver1:8000 mylogin@companygateway.com
密钥文件受密码保护。
如何正确地做这样的事情?我只需要启动一个脚本并输入一次密码就可以像这样启动多个 ssh 会话?
非常感谢
如this Q/A中所述,使用-f
而不是&
会更好。
并且在启动脚本之前启动 ssh-agent
以创建 ssh
您可以建立第一个带身份验证的 ssh 连接,并将此开放连接用于其他 ssh 会话(无需身份验证)。请参阅 man ssh 和选项 ControlMaster .