CentOS7 开启SSH坑(哪有什么坑,还不是因为自己菜
- 简述
- 安装ssh
- 1、使用 yum 或者 rpm 命令确认SSH服务是否安装:
- 2、如果没有安装,安装一下
- 启动SSH
- 1、配置SSHD
- 2、启动SSH
- 3、查看运行状态
- 4、检查监听状态
- 配置防火墙
- 1、检查防火墙开启状态
- 2、防火墙添加22端口
- 3、重新加载防火墙规则
- 4、ssh服务和防火墙都加到开机自启
- SSH连接
- 1、踩坑
- 2、填坑
- (1)、确认网络适配器
- (2)、调整网络适配器VMnet8
- 3、重新尝试连接
简述
在VMware上装了个Linux系统(CentOS7),从虚拟机到宿主机来来回回切换太麻烦了,就想开个SSH服务,踩了几个坑。
安装ssh
安装SSH这块没什么可说的,网上一大堆的教程。
1、使用 yum 或者 rpm 命令确认SSH服务是否安装:
yum list installed | grep openssh 或者 rpm -qa | grep openssh
2、如果没有安装,安装一下
yum install openssh-server.x86_64
按Tab补全一下,后面的x86_64不见得会有
启动SSH
1、配置SSHD
vim /etc/ssh/sshd_config
主要是设置端口,允许 root 及密码连接(不是root用户登的,前面带一下sudo)端口Port 22监听地址ListenAddress 0.0.0.0
ListenAddress ::是否以root用户连接,我这自己用的就设了yes,做权限管理的话注意一下PermitRootLogin yes是否使用密码方式验证PasswordAuthentication yes保存并退出
2、启动SSH
启动命令: service sshd start (这个命令实际指向:/bin/systemctl start sshd.service)
3、查看运行状态
systemctl status sshd
4、检查监听状态
netstat -antp | grep 22 (不是root用户的前面带上sudo)
配置防火墙
1、检查防火墙开启状态
centos7的默认防火墙是firewall,所以这块我们要借助firewall-cmd命令来操作
检查防火墙运行状态: systemctl status firewalld如果防火墙没开,开一下: systemctl start firewalld
2、防火墙添加22端口
firewall-cmd --add-port=22/tcp --permanent
加上–permanent是为了永久生效
3、重新加载防火墙规则
firewall-cmd --reload
4、ssh服务和防火墙都加到开机自启
systemctl enable sshd.service
systemctl enable firewalld.service加完可以查看一下
systemctl list-units --type=service|grep ssh
systemctl list-units --type=service|grep firewall
SSH连接
上面就是网上大部分教程里说的连接流程,完全没毛病,现在我们尝试连接一下试试
ifconfig 看一下虚拟机IP,这里我设的静态IP 192.168.6.128在宿主机用ssh命令连接虚拟机: ssh david@192.168.6.128
直接凉凉,oh my god!!!直接凉凉,oh my god!!!直接凉凉,oh my god!!!
1、踩坑
显然,这中间我们少了什么操作导致连不上,看报错应该是连接被拒。捋一捋可能有哪些原因:
(1)、防火墙拦截了(上面的检查监听,就是踩了这个坑加的)
(2)、虚拟机与宿主机的连通性有问题(互相ping一下)
(3)、登录的用户不对?(好吧就算就当有这么个可能性,换root用户连接验证一下)上面是我尝试的几个场景,但还是联不通,可能各位遇到的情况不一样这么一排查就好了
问题原因:
偷懒,虚拟机设置静态IP的时候,将宿主机的虚拟网络IP跟虚拟机静态IP设成了同一个。具体如下:
2、填坑
(1)、确认网络适配器
已知我们现在虚拟机是采用NAT模式进行网络连接。在VMware中,依次点击:编辑–>虚拟网络编辑器确定虚拟网络适配器为: VMnet8
(2)、调整网络适配器VMnet8
Win + R 输入:control 并回车,进入控制面板 依次点击:网络和共享中心->更改适配器设置–>VMnet8右击–>属性
虚拟网络适配器的IP地址,需要与虚拟机中IP地址在同一网段,但是不能相同!!!修改完重启一下VMnet8(禁用再启用)
虚拟网络适配器的IP地址,需要与虚拟机中IP地址在同一网段,但是不能相同!!!修改完重启一下VMnet8(禁用再启用)
虚拟网络适配器的IP地址,需要与虚拟机中IP地址在同一网段,但是不能相同!!!修改完重启一下VMnet8(禁用再启用)
3、重新尝试连接
ssh david@192.168.6.128
可以连上(上面是用Windows自带的PowerShell先试了一下,那一坨信息好像是个什么公钥私钥的问题,还没空看,用secureCRT连接不会有这些信息)