CentOS7 开启SSH坑(哪有什么坑,还不是因为自己菜)

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
CentOS7 开启SSH坑(哪有什么坑,还不是因为自己菜)_第1张图片

是否使用密码方式验证
PasswordAuthentication yes
在这里插入图片描述

保存并退出

2、启动SSH

启动命令: service sshd start (这个命令实际指向:/bin/systemctl start sshd.service

3、查看运行状态

systemctl status sshdCentOS7 开启SSH坑(哪有什么坑,还不是因为自己菜)_第2张图片

4、检查监听状态

netstat -antp | grep 22 (不是root用户的前面带上sudo)
CentOS7 开启SSH坑(哪有什么坑,还不是因为自己菜)_第3张图片

配置防火墙

1、检查防火墙开启状态

centos7的默认防火墙是firewall,所以这块我们要借助firewall-cmd命令来操作

检查防火墙运行状态: systemctl status firewalld
CentOS7 开启SSH坑(哪有什么坑,还不是因为自己菜)_第4张图片

如果防火墙没开,开一下: 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
CentOS7 开启SSH坑(哪有什么坑,还不是因为自己菜)_第5张图片

在宿主机用ssh命令连接虚拟机: ssh [email protected]
在这里插入图片描述
直接凉凉,oh my god!!!
直接凉凉,oh my god!!!
直接凉凉,oh my god!!!

1、踩坑

显然,这中间我们少了什么操作导致连不上,看报错应该是连接被拒。捋一捋可能有哪些原因:
(1)、防火墙拦截了(上面的检查监听,就是踩了这个坑加的
(2)、虚拟机与宿主机的连通性有问题(互相ping一下
(3)、登录的用户不对?(好吧就算就当有这么个可能性,换root用户连接验证一下)

上面是我尝试的几个场景,但还是联不通,可能各位遇到的情况不一样这么一排查就好了

问题原因:
偷懒,虚拟机设置静态IP的时候,将宿主机的虚拟网络IP跟虚拟机静态IP设成了同一个。具体如下:

2、填坑

(1)、确认网络适配器

已知我们现在虚拟机是采用NAT模式进行网络连接。在VMware中,依次点击:编辑–>虚拟网络编辑器
确定虚拟网络适配器为: VMnet8
CentOS7 开启SSH坑(哪有什么坑,还不是因为自己菜)_第6张图片

(2)、调整网络适配器VMnet8

Win + R
输入:control 并回车,进入控制面板
依次点击:网络和共享中心->更改适配器设置–>VMnet8
CentOS7 开启SSH坑(哪有什么坑,还不是因为自己菜)_第7张图片

右击–>属性
CentOS7 开启SSH坑(哪有什么坑,还不是因为自己菜)_第8张图片

CentOS7 开启SSH坑(哪有什么坑,还不是因为自己菜)_第9张图片

虚拟网络适配器的IP地址,需要与虚拟机中IP地址在同一网段,但是不能相同!!!

虚拟网络适配器的IP地址,需要与虚拟机中IP地址在同一网段,但是不能相同!!!

虚拟网络适配器的IP地址,需要与虚拟机中IP地址在同一网段,但是不能相同!!!

3、重新尝试连接

ssh [email protected]

CentOS7 开启SSH坑(哪有什么坑,还不是因为自己菜)_第10张图片

可以连上(上面是用Windows自带的PowerShell先试了一下,那一坨信息好像是个什么公钥私钥的问题,还没空看,用secureCRT连接不会有这些信息)

你可能感兴趣的:(Linux,linux,ssh,centos)