解决Vagrant中的CentOS主机无法ssh远程连接的问题
问题描述
Vagrant完成虚拟机搭建,并配置好网络后,直接通过ssh vagrant@172.16.10.10 -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
端口
虚拟机映射出来的端口是vagrant
生成的,不固定,注意一下vagrant up
时的启动信息,也可以通过vagrant ssh-config
来查看映射的端口
秘钥登录
默认无法通过用户名密码登录,只能使用秘钥登录。首先在工作目录下查看ssh信息。
> vagrant ssh-config
Host default
HostName 127.0.0.1
User vagrant
Port 2200
UserKnownHostsFile /dev/null
StrictHostKeyChecking no
PasswordAuthentication no
IdentityFile E:/Vagrant/CentOS7-2/.vagrant/machines/default/virtualbox/private_key
IdentitiesOnly yes
LogLevel FATAL
IdentityFile
对应的就是ssh私钥地址,然后配置下私钥即可登录。
账号密码登录
从官方站点下载的centos/7
这个 box 默认是关闭了账号密码登录的,通过vagrant ssh
连接到虚拟机,然后去编辑/etc/ssh/sshd_config
,将PasswordAuthentication
的值修改为yes
/etc/ssh/sshd_config
文件vagrant
用户是看不到的,需要使用sudo vi /etc/ssh/sshd_config
命令去编辑
修改完成后,重启sshd
服务:systemctl restart sshd
即可通过账户密码登录
root登录
同账号密码登录,编辑/etc/ssh/sshd_config
,将PermitRootLogin
的值修改为yes
修改完成后,重启sshd
服务:systemctl restart sshd
即可通过root登录
版权声明:
作者:Joe.Ye
链接:https://www.appblog.cn/index.php/2023/03/25/resolve-issue-of-centos-hosts-in-vagrant-being-unable-to-ssh-remote-connections/
来源:APP全栈技术分享
文章版权归作者所有,未经允许请勿转载。
共有 0 条评论