注意
分割线下面的是以前写的,后来观察到似乎并不是那样子的原因,当然你也可以简单阅读下分割线下面的一些东西,看是否有参考的
真正的原因跟安装的时候是 “最小安装” 还是 “基础设施服务器” 无关,也和宿主机和虚拟机系统不在同一个网段无关。仅仅跟分割线提到的eth0的ip问题,以及防火墙、以及登录方式有关。
登录方式:先要用命令行窗口如Terminal或者iTerm用 ssh root@10.211.55.11
登录你一次并保存fingerprint,之后才能使用iTerm或者Terminal的profile登录。
profile方式即预先建一个文件设置好ip、用户名和密码,建一个profile,这样不用每次都输入。
1、原因1:eth0没有ip
使用 ip addr 查看没有ip,如下要看eth0的,lo是回路的那个,eth0没有ip地址
此时需要修改 /etc/sysconfig/network-scripts/ifcfg-eth0 文件,ONBOOT 改成 yes,之后输入 reboot
重启或者 systemctl restart network
,完了之后就可以看到eth0的ip了,是 10.211.55.8
,子网掩码 /24
表示 255.255.255.0
,可以用这个ip连
2、原因2:防火墙没关
我是测试机仅本地访问,为简单起见直接关闭防火墙,并且禁止开机启动,以防重启后失效
执行 systemctl status firewalld 查看状态,看到active的时候要执行 systemctl stop firewalld 停止,停止后再查一下状态看是否真的停止了。
禁止开机启动防火墙以绝后患,systemctl disable firewalld
3、原因3:查看sshd服务,即ssh服务是否在线
输入 systemctl staus sshd
,保证是active的(这个centos就算是最小安装也会自带这个sshd并且是随开机启动的,一般不是这个原因)
4、原因4:看下能不能在宿主机ping通虚拟机里的centos (不通不代表不能连)
ping 10.211.55.8
,我觉得不能ping通也不代表不能连,因为可以设置服务器不回应ping。总之也检查下这点。
5、不是这个原因:ip不同网段
宿主机是 inet 172.16.31.178 netmask 0xffffff00
,虚拟机中的centos是 10.211.55.8/24
网段分别是 172.16.16.0 和 10.211.55.0, 但实际情况这种不同网段是可以
注意:
- netmask就是子网掩码,oxffffff00就是16进制的方式表示子网掩码,每两位数切割后用点连接起来就是点分十进制的展示方式,如ff ff ff 00即255.255.255.0;
- 而 /24 这种是 CIDR 的记录方式,表示前面24位的二进制都是1,后面是0,即 255.255.255.0
6、目前我的pd是这个配置是可以ssh登录的
所以不用怀疑这个配置
7、不是这个原因:/etc/ssh/ssh_config
网上有些说要改 /etc/ssh/ssh_config,我的配置是如下的,也没问题。网上说要增加什么
Port 22
PermitRootLogin yes
但是实际上我的配置如下都没动过,安装的是什么就是什么
8、可以尝试用本机ssh
即打开虚拟机,在本机虚拟机的命令行中输入 ssh root@127.0.0.1
之后输入密码,看看是否能登录,注意输入密码前可能会提示你添加figerprint之类的,输入yes并回车即可。
如果本机不能ssh就是有问题的,至少要保证本机能登录。
9、一般不是客户端的问题(除非finalshell这款)
一把你用mac上的terminal,用 ssh root@10.211.55.8
然后输入密码,试一下。
这是个最基础的,所以一般不用怀疑你的客户端有问题。
不过我遇到过无论MacOS还是iterm, 都能通过ssh命令登录,但是FinalShell这款国产的就是登录不上
10、不是这个原因:SELinux 设置的问题
我没改过这个也能登录。
11、也不是什么 /etc/ssh/ssh_config的 UseDNS由yes改成no
12、如果以上都登录不了,查看是不是安装的centos的版本有问题?
我之前选择安装的版本是 “最小安装”,可能导致了问题,要选择 “基础设施服务器”,这个原因我不太确定,总之你是首次安装的话重新安装一次比你各种地方找教程更加省时。
总结我做过什么现在就能用客户端ssh连了?
- eth0 的 ONBOOT 改成了yes(参考本文上面)
- 重新安装,不选择 “最小安装”,选择 “基础设施服务器”(参考本文上面)
- 关闭了防火线 (参考本文上面)
- 改用 terminal 或 iterm连,放弃 FinalShell
附录:
参考本人其他相关文章:
- 如何pd上装centos7: https://blog.youkuaiyun.com/w8y56f/article/details/147113311
- 如何安装 Parallels tools到centos7上:https://blog.youkuaiyun.com/w8y56f/article/details/147114040