gpt4 book ai didi

ubuntu - SSH 使用腻子进入 ubuntu 服务器上的 LXC 容器

转载 作者:太空宇宙 更新时间:2023-11-03 16:48:20 26 4
gpt4 key购买 nike

我将教别人如何使用 ubuntu 和 python,我想设置他们自己的沙箱来玩,所以我使用 LXC 并按照本指南设置容器:

https://www.digitalocean.com/community/articles/getting-started-with-lxc-on-an-ubuntu-13-04-vps

但是,我有一个问题,我无法使用 Putty 通过 SSH 连接到该容器。虽然我可以使用 putty 正常通过 SSH 连接到我自己的盒子,然后在其中启动 ssh,但我需要在那里才能登录。但是,我希望他们能够自己登录。

出于显而易见的原因,我不希望他们在我工作时使用主机箱本身,所以如果他们删除任何东西或造成问题,我可能会有麻烦。

我想简单地设置一个容器,他们可以在其中乱搞并运行程序或移动文件或做任何他们想做的事情而不会弄乱主框,然后能够在没有我干涉的情况下自行登录.

我该怎么做呢?

最佳答案

因为您的 LXC 将有一个内部 IP 地址,例如 10.x.x.x。你将需要应用一个 iptables 规则,允许从你的主机服务器到 LXC 内部 natted IP 地址的端口转发。

为此,您需要在 LXC 实例上打开/etc/ssh/sshd_config 并将 SSH 的监听端口更改为与主机服务器不同的端口。

例如,将您的主机设置为 25000,将您的 LXC 设置为 25001。注意,主机服务器上的所有唯一 LXC 实例都需要使用不同的 ssh 端口。一旦你改变了这个,在你的主机服务器上添加以下 iptables 规则,而不是你的 LXC。

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 25001 -j DNAT --to 10.x.x.x:25001

其中 eth0 应该是您的 LXC 以太网卡,10..x.x.x 是您的 LXC 内部 IP 地址。这会将 ssh 流量从您的主机服务器转发到正确端口上的 LXC

一旦完成,您应该可以通过以下命令通过 ssh 登录

ssh -p 25001 user@LXC_host_server_IP

请注意,它是您需要定位的主机服务器 ip,而不是 LXC。主机会将流量转发到您的 LXC。

此方法可用于任何服务,因此如果您在 LXC 中设置 apache 或 Nginx,您可以对端口 80、8080、443 等进行相同的端口转发。

希望这对某人有帮助。

关于ubuntu - SSH 使用腻子进入 ubuntu 服务器上的 LXC 容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21566802/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com