解决vagrant中的centos主机无法远程连接的问题
使用Vagrant快速搭建centos虚拟机 Vagrant网络配置vagrant 完成虚拟机搭建,并配置好网络后,直接通过ssh vagrant@192.168.1.104 -p 22(这里使用自己配置的ip)登录虚拟机,Permission denied (publickey,gssapi-keyex,gssapi-wit...
使用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等工具也连接不上,花了点时间研究了一下,总结出以下两种可以解决方法。
这里的端口
2222是vagrant 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 登录了。
更多推荐




所有评论(0)