【发布时间】:2024-01-22 10:53:01
【问题描述】:
我不打算在 Jelastic 平台之外使用 SSH 连接,Direct Access to the Container 解决方案不包括我的情况。
只是我需要在我的环境之间直接连接,而不使用任何额外的网关。 在Jelastic docs 中,我找不到有关我案件的任何信息。有可能吗?
【问题讨论】:
我不打算在 Jelastic 平台之外使用 SSH 连接,Direct Access to the Container 解决方案不包括我的情况。
只是我需要在我的环境之间直接连接,而不使用任何额外的网关。 在Jelastic docs 中,我找不到有关我案件的任何信息。有可能吗?
【问题讨论】:
这里有关于这个案例的一些细节:http://kb.layershift.com/ssh-jelastic-nodes
综上所述,Jelastic节点之间可以通过SSH网关建立SSH连接,但是如果要建立直接 SSH连接则需要防火墙调整(开启不同来源的SSH访问)当然还有适当的 SSH 密钥添加到 authorized_keys 文件中。
由于 Jelastic 节点的托管性质,这需要您的托管服务提供商的帮助 - 因此请联系您的托管服务提供商的支持人员进行配置。
【讨论】:
是的,这是可能的。您应该使用一次SSH Access to a Jelastic Account 来配置容器之间的 SSH 连接。
让我们配置你的容器(我告诉你如何配置一个连接,你可以将这个指令用于其他类比):
apache@node51989-env-6759653 ~ $ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/var/www/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /var/www/.ssh/id_rsa.
Your public key has been saved in /var/www/.ssh/id_rsa.pub.
从 ~/.ssh/id_rsa.pub 文件复制内容。
apache@node51989-env-6759653 ~ $ cat ~/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDVNYjvkfj6mhjyhbkiNisDFxksG7IoAMkUYNpuqMz4afutNLcnZwkjAar3WZ/2892CR9Y3PiUUDLJKEg1OavZYpc63Fw6qGSQBFdn/r1n7mkZMIF1k0JUdFleKxhUyoxoc4jsSgIu2zr2738K2Mkx9C6oAK3DyGmezXe+g6J/kg0LHA9bqYPfLeRriC6N3e4FYBqHwBD5Fv7yu/RO9K6GzUP9PAhjNxlTrR6XYLdB37wmICZujlLM2VdADQrAHYbXIx3qswJIDrMygJ9VDs42YEiXP1YKTftqtueXbLHPMl0tb0EwCDCSQtCa0o9eHd3K4sJ3aIvW3Fm0oahP8SlJr apache@node51989-env-6759653.jelastic
使用Jelastic SSH GateAccess进入容器2。
将复制的公钥从容器 1 粘贴到容器 2 的 ~/.ssh/authorized_keys 文件中。
nginx@node51990-env-9925621 ~ $ echo 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDVNYjvkfj6mhjyhbkiNisDFxksG7IoAMkUYNpuqMz4afutNLcnZwkjAar3WZ/2892CR9Y3PiUUDLJKEg1OavZYpc63Fw6qGSQBFdn/r1n7mkZMIF1k0JUdFleKxhUyoxoc4jsSgIu2zr2738K2Mkx9C6oAK3DyGmezXe+g6J/kg0LHA9bqYPfLeRriC6N3e4FYBqHwBD5Fv7yu/RO9K6GzUP9PAhjNxlTrR6XYLdB37wmICZujlLM2VdADQrAHYbXIx3qswJIDrMygJ9VDs42YEiXP1YKTftqtueXbLHPMl0tb0EwCDCSQtCa0o9eHd3K4sJ3aIvW3Fm0oahP8SlJr apache@node51989-env-6759653.jelastic' >> ~/.ssh/authorized_keys
通过编辑容器 1 中的 /etc/sysconfig/iptables-custom 文件,允许来自容器 2 的 SSH 连接。(Custom Firewall Rules for Containers)。
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
-I INPUT -s <internal ip> -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
COMMIT
在第二个容器中重新启动防火墙。
nginx@node51990-env-9925621 ~ $ sudo /usr/bin/jem firewall fwstart
建立直接 SSH 连接。
ssh jelastic@<internal ip>
享受吧。
【讨论】: