Vagrant 配置默认root用户启动

Vagrant 配置默认root用户启动

Vagrant 是一个用于创建和部署虚拟化开发环境的工具,其依赖于 VirtualBox 虚拟机,致力于帮助开发者快速构建一个环境统一的虚拟系统。Vagrant 最强大的地方是在于它在构建虚拟系统时的快捷简便,使开发者可以在短短几分钟内完成一个虚拟系统的删除与构建。

提前声明:

  • 在主机中的命令以 > 标记
  • 在虚拟机中命令以 $ 标记
  • ~ 表示当前用户根目录

进入正文:

一、进入到你 vagrant 初始目录 例如:~/vagrant/centos7

> cd ~/vagrant/centos7
> vagrant init centos/7
# 会在当前目录中生成 Vagrantfile 文件,
# 到此我们完成了第一步

二、生成我们的SSH证书(用于root用户免密直接登录)

# 前提你必须先安装 git
# 如果已有 SSH 证书可以跳过这一步
> ssh-keygen
# 按照提示完成三次回车,即可生成 ssh key。通过查看 ~/.ssh/id_rsa.pub 文件内容,获取到你的 public key
# 将 ~/.ssh 目录中 id_rsa 和 id_rsa.pub 这两个文件拷贝到
# ~/vagrant/centos7/.ssh 目录下,这个目录是不存在的哈需要自己创建
# Q: 为啥要把证书文件复制到 vagrant 初始目录呢?
# A:因为vagrant默认会把初始化目录映射到虚拟机中的 /vagrant 下面,把证书复制过来方便操作
# 到此第二步也完成了

三、登录到我们的虚拟机中,并且配置好ssh证书

# 启动虚拟机,并且使用ssh登录
> vagrant up && vagrant ssh
# 默认登录上的是 vagrant 用户
[vagrant@centos7 ~] $
# 我们需要切换root用户
$ sudo -i
[root@centos7 ~] $
# 默认root目录下是没有.ssh 目录的,所以需要先创建
[root@centos7 ~] $ mkdir ~/.ssh
# 复制vagrant用户目录下的 authorized_keys 文件
[root@centos7 ~] $ cp /home/vagrant/.ssh/authorized_keys ~/.ssh/authorized_keys
# 把主机中的证书追加到 authorized_keys 文件
[root@centos7 ~] $ cat /vagrant/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
# 到此已经配置好了SSH证书

四、修改 Vagrantfile 文件配置

# 添加root配置
config.ssh.username = "root"
config.ssh.password = "vagrant"
config.ssh.insert_key = true
# 重启虚拟机并登录
> vagrant reload && vagrant ssh
# 这下启动就是root用户了

五、常用的命令

> vagrant init # 初始化
> vagrant up # 启动虚拟机
> vagrant halt # 关闭虚拟机
> vagrant reload # 重启虚拟机
> vagrant ssh # SSH 至虚拟机
> vagrant suspend # 挂起虚拟机
> vagrant resume # 唤醒虚拟机
> vagrant status # 查看虚拟机运行状态
> vagrant destroy # 销毁当前虚拟机
# box管理命令
> vagrant box list # 查看本地box列表
> vagrant box add # 添加box到列表
> vagrant box remove # 从box列表移除

六、其它

# 默认的用户名和对应的密码
# 用户名 密码
# vagrant vagrant
# root vagrant

可读性强一点的直接访问:

http://note.youdao.com/noteshare?id=a4cc5c8fda15e259c0c60978c545455f

这个是有道云笔记

发表评论
留言与评论(共有 0 条评论)
   
验证码:

相关文章

推荐文章

'); })();