使用Vagrant快速搭建centos虚拟机
Vagrant网络配置
vagrant 完成虚拟机搭建,并配置好网络后,直接通过ssh vagrant@192.168.1.104 -p 22
(这里使用自己配置的ip
)登录虚拟机,
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
使用在本机映射的2222
端口,ssh vagrant@127.0.0.1 -p 2222
登录。
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
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
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
然后通过 ssh
去连接就可以成功了。vagrant默认密码和用户名相同,如需要修改,可以使用passwd
命令。
再试一下直接连虚拟机,不走端口转发(需要给虚拟机IP
地址)。
OK,没有问题,可以顺利的连接了!!
root登录
同账号密码登录
,编辑/etc/ssh/sshd_config
,将PermitRootLogin
的值修改为yes
。,如需要修改,可以使用sudo passwd
命令。root
的默认密码是vagrant
修改完成后,重启sshd
服务。
sudo systemctl restart sshd
然后就可以通过 root
登录了。