微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何从 bash 脚本启动多个 ssh 会话

如何解决如何从 bash 脚本启动多个 ssh 会话

在家办公,我需要每天早上启动一些 ssh 隧道到我的公司,以便通过端口转发到我的桌面来获取我的内部工作场所应用程序网站。 每个 ssh 调用都在他自己的脚本中,每个 ssh 隧道都需要一个关键短语来解锁该连接所需的 ssh 密钥。

我对每天早上手动启动这些脚本(启动 ssh 隧道)感到厌烦,我想一次启动它们,并且只输入一次关键短语。

喜欢

!/bin/sh
./start-tunnel-app1.sh &
./start-tunnel-app2.sh &
...
./start-tunnel-appx.sh

和 start-tunnel-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 。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。