解决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等工具也连接不上

解决方案

这里的端口2222vagrant 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全栈技术分享
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
打赏
海报
解决Vagrant中的CentOS主机无法ssh远程连接的问题
问题描述 Vagrant完成虚拟机搭建,并配置好网络后,直接通过ssh vagrant@172.16.10.10 -p 22(这里使用自己配置的私有网络ip)登录虚拟机,报错 Permission de……
<<上一篇
下一篇>>
文章目录
关闭
目 录