我正在尝试在我的 Ubuntu 笔记本电脑上设置虚拟机集群,以便测试一些分布式代码。我的目标是执行一个 shell 脚本来启动配置,并在测试完成后执行另一个脚本来关闭配置。
我需要能够通过 SSH 进入所有虚拟机来安装软件,并且我希望通过 LAN 进行安装。我不想使用 GUI 来执行此操作,因为我希望该过程自动化。我首先启动一台虚拟机,然后尝试使用以下脚本转发端口 2222:
NAMES=(node1)
for i in ${NAMES[@]}; do
vboxmanage createvm --name ${i} --ostype "Ubuntu_64" --register
vboxmanage modifyvm ${i} --nic1 nat --nic2 hostonly --hostonlyadapter2 vboxnet0 --memory 1024 --natpf1 "openssh,tcp,,2222,,22"
vboxheadless -s ${i}
done
运行后ifconfig
我得到以下信息vboxnet0
:
vboxnet0 Link encap:Ethernet HWaddr 0a:00:27:00:00:00
inet addr:192.168.56.1 Bcast:192.168.56.255 Mask:255.255.255.0
inet6 addr: fe80::800:27ff:fe00:0/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:113 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:19687 (19.6 KB)
但是当我运行时出现以下错误:ssh -p 2222 [email protected]
ssh_exchange_identification: read: Connection reset by peer
也许我处理这个问题的方式不正确(我不太精通网络),但无论如何我都希望得到一些见解。