使用密钥作为另一个用户SSH进入Vagrant框?

时间:2016-01-21 15:43:25

标签: ssh vagrant virtualenv ansible

我喜欢使用“vagrant”用户使用Ansible配置我的Vagrant VM。但是一旦我设置了这个盒子,我就可以使用流浪帐户或我的个人帐户“smith”登录它。但是,当我以smith身份登录时,我不希望提示输入密码。有没有办法设置它?我在Vagrant框中创建了smith帐户,并且我已将我的公共和私有SSH密钥从OS X管理主机上的.ssh目录复制到VM上的用户smith的.ssh目录。现在我可以通过“ssh smith@192.168.2.100”登录,但是系统会提示我输入密码。有没有办法配置这两台机器,以便我可以使用我的SSH密钥登录?

感谢。

# Vagrantfile
DEV_GID = 1001
Vagrant.configure(2) do |config|
  config.vm.box = "debian/jessie64"
  config.vm.network "forwarded_port", guest: 80, host: 8080
  config.vm.network "forwarded_port", guest: 443, host: 8443
  config.vm.network "private_network", ip: "192.168.2.100"
  config.vm.synced_folder "website/", "/srv/http/example.com",
      owner: "root",
      group: DEV_GID,
      mount_options: ["dmode=775"]
  config.vm.provision "shell", path: "provision.sh"
end

1 个答案:

答案 0 :(得分:0)

您应该创建文件

,而不是复制.ssh目录中的所有文件
 /home/smith/.ssh/authorized_keys
在你的迷惑盒中

(或流浪盒中你的主文件夹的任何地方)并将你的id_rsa.pub复制粘贴到这个文件中。通过复制粘贴,我的意思是用编辑器打开id_rsa.pub,复制所有内容,然后将其粘贴到.ssh / authorized_keys文件中。您还应将目录权限更改为0600。

在vagrant框中不需要您的私有id_rsa文件,只有在您用于ssh到该vagrant框中的主机中才需要它。