1. 虚拟机设置#
homestead 支持我们对虚拟机的 ip,内存,cpu,虚拟机的默认提供者进行配置。这里我们基本不需要做任何配置,因此可以跳过。
ip: 192.168.10.10memory: 2048cpus: 1provider: virtualbox
2. ssh 秘钥登录配置#
authorize 选项是指派登录虚拟机授权连接的公钥文件,此文件填写的是主机上的公钥文件地址,虚拟机初始化时,此文件里的内容会被复制存储到虚拟机的 /home/vagrant/.ssh/authorized_keys文件中,从而实现 ssh 免密码登录。在这里我们默认填写即可。
authorize: ~/.ssh/id_rsa.pub
keys 是数组选项,填写的是本机的 ssh 私钥文件地址。虚拟机初始化时,会将此处填写的所有 ssh 私钥文件复制到虚拟机的 /home/vagrant/.ssh/ 文件夹中,从而使虚拟机能共享主机上的 ssh 私钥文件,使虚拟机具备等同于主机的身份认证。此功能为 ssh 授权提供了便利,例如在后面章节中,我们只需要在 github 上配置一个 ssh 公钥,即可实现 github 对虚拟机和主机共同认证。
此处我们将公钥和私钥一起同步到虚拟机中:
keys: - ~/.ssh/id_rsa - ~/.ssh/id_rsa.pub
接下来我们来生成 ssh key,开始之前,我们先使用以下命令来检查主机上是否已经生成过 ssh key:
> ls -al ~/.ssh
如果存在 id_rsa 和 id_rsa.pub的话,请跳过以下生成 ssh 的步骤继续阅读剩下内容。
否则使用以下方法来生成 ssh key,请将 your_email@example 替换为你的邮箱:
> ssh-keygen -t rsa -c your_email@examplegenerating public/private rsa key pair.
命令行会提示让你指定秘钥的名称,按回车键将 ssh key 保存到默认文件名即可:
enter a file in which to save the key (/users/you/.ssh/id_rsa): [press enter]
接下来会询问你为 ssh key 设置密码,按回车键即可,默认为空密码:
enter passphrase (empty for no passphrase): [type a passphrase]enter same passphrase again: [type passphrase again]
可以都选择默认,一路 enter 键即可,大致如下:
这个时候如果我们再使用:
> ls -al ~/.ssh
查看的话,会出现:
ssh 秘钥的两个文件:
id_rsa —— ssh 秘钥的 私钥 (private key)
id_rsa.pub —— ssh 秘钥的 公钥 (public key)