vagrant root 登录虚拟机
1先看下我这vagrant配置信息 Vagrant.configure("2") do |config| config.vm.box = "base" config.vm.box_check_update = false config.vm.network "forwarded_port",guest: 80,host: 8080 config.vm.network "private_network",ip: "192.168.0.1" config.vm.synced_folder "/data/www","/data/www" # config.vm.provision "shell",inline: <<-SHELL # apt-get update # apt-get install -y apache2 # SHELL end 发现没有登录信息,然后网上查了下资料说是默认的登录用户名是vagrant,密码一样。就像下面。 config.ssh.username = "vagrant" config.ssh.password = "vagrant" 配置上上面的信息然后 vagrant ssh登录,发现登录正常没有问题。修改root的密码。 sudo -s passwd 改完之后按照网上信息修改 vim /etc/ssh/sshd_config PermitRootLogin prohibit-password 改为 PermitRootLogin yes 重启ssh服务 service sshd restart 退出,修改vagrant登录信息 config.ssh.username = "root" config.ssh.password = "密码" 然后 vagrant ssh 提示 [email?protected]: Permission denied (publickey). 不允许登录。一直没搞明白。后来又仔细看了下 PasswordAuthentication yes 记着重启服务 service sshd restart 然后改配置用户名 2等等,我不是配置密码了么?为什么还提示我输入密码 但是,vagrant用户为什么可以不需要密码直接登录,可能vagrant默认是秘钥登录的。我看看vagrant的秘钥登录配置。 vim ~/.ssh/authorized_keys 果然有秘钥配饰 JbDoShF6plkIvZfV1ol3OMGYRtG8V/fYOCgfv9VBHmBVda+yIuybtD vagrant 证实了我们的猜测,vagrant默认是秘钥登录,密码配置没有任何意义。 vim /etc/ssh/sshd_config 打开两个关于秘钥的配置 RSAAuthentication yes PubkeyAuthentication yes 配置公钥 vim ~/.ssh/authorized_keys 将自己的公钥添加到这里。 重启服务 service sshd restart exit 退出虚拟机 修改vagrant配置数据,注释密码,加上私钥地址, config.ssh.username = "root" #config.ssh.password = "vagrant" config.ssh.private_key_path = "/Users/XXX/.ssh/id_rsa" 不出意外,就可以跟vagrant用户一样免密登录了。 sudo ssh-add -K ~/.ssh/id_rsa 是不是就可以秘钥免密登录了??? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |