[英]Vagrant multi vm ssh connection setup works on one but not the others
我搜索了許多類似的問題,但似乎無法弄清楚我遇到的問題。 我有一個 Vagrantfile,我用它設置了 3 個虛擬機。 我向每個虛擬機添加了一個公鑰,這樣我就可以在 vagrant up 命令之后對這些框運行 ansible(我不想使用 ansible 配置器)。 我轉發每個盒子上的所有 ssh 端口。
我可以 vagrant ssh <server_name> 在每個盒子上成功。 具有以下內容:
ssh vagrant@192.168.56.1 -p 2711 -i ~/.ssh/ansible <-- successful connection
ssh vagrant@192.168.56.2 -p 2712 -i ~/.ssh/ansible <-- connection error
ssh: connect to host 192.168.56.2 port 2712: Connection refused
ssh vagrant@192.168.56.3 -p 2713 -i ~/.ssh/ansible <-- connection error
ssh: connect to host 192.168.56.3 port 2713: Connection refused
和
ssh vagrant@localhost -p 2711 -i ~/.ssh/ansible <-- successful connection
ssh vagrant@localhost -p 2712 -i ~/.ssh/ansible <-- successful connection
ssh vagrant@localhost -p 2713 -i ~/.ssh/ansible <-- successful connection
Ansible 可以連接到第一個(vagrant@192.168.56.1),但也不能連接到其他兩個。 我似乎無法找出為什么它連接到一個而不是其他。 有什么想法我可能做錯了嗎?
這是 ansible 庫存:
{
"all": {
"hosts": {
"kubemaster": {
"ansible_host": "192.168.56.1",
"ansible_user": "vagrant",
"ansible_ssh_port": 2711
},
"kubenode01": {
"ansible_host": "192.168.56.2",
"ansible_user": "vagrant",
"ansible_ssh_port": 2712
},
"kubenode02": {
"ansible_host": "192.168.56.3",
"ansible_user": "vagrant",
"ansible_ssh_port": 2713
}
},
"children": {},
"vars": {}
}
}
應確保的幾件事:
確保在 controller 主機上,主機密鑰已從所有 VM 接受,其 IP 地址為192.168.56.{1-3}
。
當您啟動 vagrant 時,每個 VM "Forwarding ports..." 都有一條 output 行,后跟2711 (guest) => 2711 (host)
之類的內容。 兩個端口(來賓和主機)真的相同嗎? 我認為,默認配置是用於來賓的端口22
和用於在主機上映射的其他端口。
對於您的第一台機器,它將是22 (guest) => 2711 (host)
,因此您可以使用localhost:2711
或192.168.56.1:22
訪問。
SSH 手動進入所有虛擬機(如果可行,請使用localhost
)並檢查 SSH 在端口271{1-3}
或端口22
上的所有端口上均正常運行。 您可以使用例如ss -tln
檢查打開的端口。
使用vagrant port
命令檢查所有端口映射。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.