我在 VirtualBox 上安装了一个无头 Ubuntu 服务器版本,在完全准备好运行后,我克隆了它,获得了第二个完全相同的实例。但是,克隆共享了它的 CMD SSH 访问权限,因此我无法访问它。
编辑:我无法在同时访问另一个时访问它。如果我关闭其中一个,另一个就可以正常工作。
有没有办法分配一个新的 SSH 密钥,以便我可以同时在不同的 cmd 上访问两个服务器?
答案1
我经常做类似的事情,安装新版本的 Ubuntu 并保留原始版本进行克隆(这比每次重新安装要快得多)。
- 为了创建克隆,我停止了该实例(
sudo init 0
)。 - 创建克隆
- 启动克隆
- 编辑克隆的网络设置
从 Ubuntu 18.04 开始,我编辑 netplan 文件,通常:
vim /etc/netplan/50-cloud-init.yaml
然后为服务器分配一个新地址并重新启动以确保它按预期工作(特别是,我还更改主机名并确保它在重启后仍然可用)。
一旦完成,我就可以并行启动两个服务器,因为它们现在各自有不同的 IP 地址。
您也可以使用 DHCP,因为这样每台计算机都会自动分配一个 IP 地址。只有这样才能复杂的将其他工具设置为一个,而另一个 IP 可能会在未经通知的情况下更改,您必须编辑您的设置(除非您可以使用 DNS 为每台计算机命名)。DHCP 服务器还有一个选项,可以使用计算机 MAC 地址并为每台特定计算机强制使用特定 IP。我经常将此功能用于外部设备(但是,iPhone OS 只是更改其代码以动态更改我们的 MAC 地址……不确定这样做的安全性如何……因为这样,如果是 iPhone,我就无法验证谁在哪里连接了!)
至于 SSH 密钥,您可以像平常一样将密钥放入 VPS 帐户中。同一密钥可以重复使用任意次数(即,将公钥放入所有 VPS~/.ssh/authorized_keys
文件中)。
如果您想直接连接您的 VPS,您还需要将私钥复制到所述 VPS。但是,请记住,默认情况下,VirtualBox 服务器会出现在 Internet 上(除非您设置了强大的防火墙)。因此不建议将您的私钥放在您的 VPS 中。