使用Vagrant快速搭建centos虚拟机
Vagrant网络配置

vagrant 完成虚拟机搭建,并配置好网络后,直接通过ssh vagrant@192.168.1.104 -p 22(这里使用自己配置的ip)登录虚拟机,

Permission denied (publickey,gssapi-keyex,gssapi-with-mic).

  
  
  • 1

使用在本机映射的2222端口,ssh vagrant@127.0.0.1 -p 2222 登录。

Permission denied (publickey,gssapi-keyex,gssapi-with-mic).

  
  
  • 1

xshell等工具也连接不上,花了点时间研究了一下,总结出以下两种可以解决方法。

这里的端口2222vagrant up的时候,vagrant 自动将虚拟机的 22 端口映射到的宿主机的2222 上,访问宿主机的2222 就是访问虚拟机的22端口

秘钥登录

默认无法通过用户名密码登录,只能使用秘钥登录。
首先在工作目录下查看ssh信息。

虚拟机映射出来的端口是 vagrant 生成的,可以通过 vagrant up时候的启动信息查看,也可以通过vagrant ssh-config 来查看映射的端口。

vagrant ssh-config
#Host default
#  HostName 127.0.0.1
#  User vagrant
#  Port 2222
#  UserKnownHostsFile /dev/null
#  StrictHostKeyChecking no
#  PasswordAuthentication no
#  IdentityFile /home/xingmu/vagrant/.vagrant/machines/default/virtualbox/private_key
#  IdentitiesOnly yes
#  LogLevel FATAL

  
  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

IdentityFile 对应的就是ssh私钥地址,然后配置下私钥就可以了。
我这里使用的是 electerm,如下图所示,导入私钥即可愉快的使用了,如果是其他远程连接工具应该是差不多的。
注意,虚拟机默认生成的秘钥,只支持默认的vagrant用户使用
在这里插入图片描述
这里使用了虚拟机映射出来的端口2222,也可以使用给虚拟机配置的ip地址,通过22端口登录。

账号密码登录

从官方站点下载的centos/7 这个 box 默认是关闭了账号密码登录的,通过vagrant ssh连接到虚拟机,然后去编辑/etc/ssh/sshd_config,将PasswordAuthentication 的值修改为yes

/etc/ssh/sshd_config 这个文件vagrant 用户是没有权限查看内容的,需要使用sudo vi /etc/ssh/sshd_config 命令去编辑
在这里插入图片描述
修改完成后,重启sshd服务。

sudo systemctl restart sshd

  
  
  • 1

然后通过 ssh 去连接就可以成功了。vagrant默认密码和用户名相同,如需要修改,可以使用passwd命令。
在这里插入图片描述
再试一下直接连虚拟机,不走端口转发(需要给虚拟机IP地址)。
在这里插入图片描述
OK,没有问题,可以顺利的连接了!!

root登录

账号密码登录,编辑/etc/ssh/sshd_config,将PermitRootLogin 的值修改为yes。,如需要修改,可以使用sudo passwd命令。root的默认密码是vagrant
在这里插入图片描述
修改完成后,重启sshd服务。

sudo systemctl restart sshd

  
  
  • 1

然后就可以通过 root 登录了。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐