Ubuntu跳转主机在开放电信云没有按预期工作



目前,我已经用Terraform在OTC中构建了一个小型数据中心环境。基于Ubuntu 20.04镜像。

这个想法是在设置阶段有一个跳转主机,用于操作目的,允许通过ssh代理跳转自发访问服务前端,而无需将它们永久路由到公共网络。

到目前为止,基本设置运行良好——我可以用ssh访问跳转主机,当我把私钥放在跳转主机上时,可以用ssh从那里访问内部机器。所以,从云的角度来看,安全似乎很好。密钥对是用ed25519生成的,我对跳转主机和内部服务器使用相同的密钥(目前(。

我无法实现的是代理跳转作为来自外部机器的链式命令。

在跳转主机上,我将AllowTcpForwarding设置为";是";在CCD_ 1中,并重新启动ssh和sshd服务。

我当前的本地ssh配置如下:

Host otc
User ubuntu
Hostname <FloatingIP-Address>
Port 22
StrictHostKeyChecking=no
UserKnownHostsFile=/dev/null
IdentityFile= ~/.ssh/ssh_access
ControlPath ~/.ssh/cm-%r@%h:%p
ControlMaster auto
ControlPersist 10m
Host 10.*
User ubuntu
Port 22
IdentityFile=~/.ssh/ssh_access
ProxyJump  otc
StrictHostKeyChecking=no
UserKnownHostsFile=/dev/null

我可以使用这个ssh otc到跳转主机。

我所期望的是,我可以使用例如ssh 10.0.0.56来到达内部主机,而无需进一步的麻烦。同样,我应该能够使用像ssh -L 8080:10.0.0.56:8080 10.0.0.56 -N这样的命令将内部服务器的端口映射到外部机器上的localhost端口。这就是我如何在公共云中的其他托管场景中成功地做到这一点。

我得到的只是:

Stdio forwarding request failed: Session open refused by peer
kex_exchange_identification: Connection closed by remote host

Jump主机上的期刊说:

Jul 30 07:19:04 dev-nc-o-bastion sshd[2176]: refused local port forward: originator 127.0.0.1 port 65535, target 10.0.0.56 port 22

我也检查了一下:

  • ufw在跳转主机上关闭
  • 用ProxyCommand替换了ProxyJump配置

所以我已经到了知识的尽头。有人暗示过还有什么原因吗?欢迎任何帮助!

好的,找到了原因(但尚未完全解释(。

我的本地ssh设置允许多路转发(ControlMaster auto(,这导致在~/.ssh中为Controlpath创建一个unix套接字文件。

我必须首先登录到AllowTcpForwarding的跳转主机。重新启动sshd后,我返回到本地机器,在尝试转发到远程内部机器时发生了故障。

删除~/.ssh中的套接字文件后,现在可以根据需要建立连接。显然,持久隧道没有受到跳转主机上重新启动的守护进程的影响,只是拒绝遵循新指令。

这花了我两天时间。好的一面是,我学到了很多关于ssh:o的知识

相关内容

  • 没有找到相关文章

最新更新