这是我得到的Vagrant文件:
VAGRANTFILE_API_VERSION = "2"
PROJECTS_HOME = ENV['PROJECTS_HOME'] || "../"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.box = "ubuntu/trusty64"
config.vm.network "public_network", ip: "192.168.8.120"
config.vm.network :forwarded_port, guest: 443, host: 443
config.vm.network :forwarded_port, guest: 443, host: 4443
config.vm.network :forwarded_port, guest: 80, host: 8080
config.vm.hostname = "node1"
if PROJECTS_HOME
config.vm.synced_folder PROJECTS_HOME, "/srv/projects"
end
config.vm.provider "virtualbox" do |v|
v.memory = 2048
v.cpus = 2
end
config.vm.provision "shell", inline: <<SCRIPT
#cd /vagrant && make all
SCRIPT
end
然后,如果我想通过PuTTY SSH它,当我输入ssh vagrant@127.0.0.1
时,它可以正常工作。但是,我还在我的Android设备上下载了SSH客户端,该设备运行的是Ginger Bread,它连接到同一个网络。
我的问题是我如何从Android中诋毁流浪汉?
我已经尝试了以下所有方法:
ssh vagrant@192.168.8.120
ssh vagrant@127.0.0.1
ssh vagrant@10.0.2.15
如果有人能解释我该怎么做,我们将非常感激:)
答案 0 :(得分:1)
Vagrant通常使用映射到内部22端口的外部端口2222。但是,您可以打开该框的VirtualBox网络适配器设置以验证该设置。
没有端口号的ssh命令正在使用端口22,您需要使用-p
标志连接到端口2222
ssh -p 2222 vagrant@IP
此外,Virtualbox仅在localhost
(127.0.0.1
)上转发,通过将其更改为主机IP的0.0.0.0
并清除访客IP字段向公众开放。
答案 1 :(得分:1)
要从主机自动将guest 22端口转发到2222,然后从任何ip可用于ssh,您可以将以下内容添加到Vagrantfile定义中
config.vm.network :forwarded_port, guest: 22, host: 2222, host_ip: "0.0.0.0", id: "ssh", auto_correct: true
然后您可以使用本地主机IP访问您的VM - 确保将私钥下载到您的Android设备并添加-i
选项,否则您将被提示输入密码
ssh -p 2222 vagrant@<host_IP_on_the_network> -i <path_to_private_key>