解决Vagrant中的CentOS主机无法ssh远程连接的问题

问题描述

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

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

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

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

Xshell等工具也连接不上

解决方案

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

虚拟机映射出来的端口是vagrant生成的,不固定,注意一下vagrant up时的启动信息,也可以通过vagrant ssh-config来查看映射的端口

秘钥登录

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

1
2
3
4
5
6
7
8
9
10
11
> 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登录

Powered by AppBlog.CN     浙ICP备14037229号

Copyright © 2012 - 2020 APP开发技术博客 All Rights Reserved.

访客数 : | 访问量 :