我需要使用装有 powershell ssh 客户端的 windows 10 机器来连接多台 linux 机器。身份验证是通过用户和密码完成的,ATM 不会发送公钥。
但是我位于新的公司防火墙后面,因此我需要将此防火墙的证书添加到我的 ssh 客户端运行的 CA 包中,否则我会收到以下信息:
PS C:\Users\my.user> ssh [email protected]
kex_exchange_identification: read: Connection timed out
我可以确认 ssh 服务器运行正常,我使用单独的 PC 和单独的网络连接。我还必须将此新防火墙的证书添加到我的本地 nodejs 实例和其他与网络相关的软件中。有什么方法可以实现这一点吗?
答案1
这实际上取决于你的公司防火墙的限制程度,但我会在数字海洋上创建一个跳转主机;并且我会在备用端口上运行 ssh。
- 在 Digital Ocean 上创建 ubuntu 主机
- 更改
/etc/ssh/sshd_config
为(或任何其他您想要的端口,80Port 22
,port 80
因为没有人阻止 80);还启用密码验证(PasswordAuthentication yes
)。 - 使用 ssh 连接到主机
ssh -p 80 digitaloceanhostip
- 使用类似的程序
screen
,然后 ssh 到任意数量的主机,同时如果断开连接,保持会话打开