Centos 7无法SSH远程连接及解决方法

Centos 7无法SSH远程连接及解决方法

小土豆Linux学习随笔

—— 清听凌雪慕忆

​ 以前运维中,服务器或者虚拟机安装完Centos 7系统,配置网络设置后即可利用SSH远程。昨夜,怪哉,不知为何虚拟机中的Centos 7无法远程,排除网络原因,想爆了小脑壳儿,最终却忽略了SSH配置,尝试之后果然灵了,随即补充知识库,做随笔。

【工作环境】:远程主机(Windows 10)、虚拟机(Vmware Workstation),安装了CentOS7,通过SSH工具连接虚拟机中的CentOS7。

1、查看否安装SSH服务

  • 查看系统是否安装openssh-server,可在终端中输入一下命令:
[root@localhost ~]# yum list installed | grep openssh-server
# 或 查看ssh是否安装
[root@localhost ~]# rpm -qa | grep ssh
rpm -qa|grep xxx 命令
-qa代表query,a代表all;
rpm -q  ----查询一个包是否被安装
rpm -qa ----列出所有被安装的rpm package
|       ----| 表示管道,上一条命令的输出,作为下一条命令参数(输入)。
grep    ----用于查找文件里符合条件的字符串。
xxx     ----要查询的名称

Centos 7无法SSH远程连接及解决方法_第1张图片

Centos 7无法SSH远程连接及解决方法_第2张图片

  • 此处显示已经安装了 openssh-server,如果又没任何输出显示表示没有安装 openssh-server,可在终端中输入一下命令来进行安装openssh-server。
yum install openssh-server

2、查看sshd服务配置

  • 找到 /etc/ssh/ 目录下的sshd服务配置文件 sshd_config。

    [root@localhost ~]# cd /
    [root@localhost /]# cd /etc/ssh
    

    Centos 7无法SSH远程连接及解决方法_第3张图片

  • 用Vim编辑器或Gedit打开。

    说明:SSH默认端口为22,在此处也可以修改为其他端口。

  • 文件中,关于监听端口、监听地址前的 # 号去除(取消注释)。

  • 开启允许远程登录。

Centos 7无法SSH远程连接及解决方法_第4张图片

  • 开启使用用户名密码来作为连接验证。

Centos 7无法SSH远程连接及解决方法_第5张图片

  • 保存文件,退出。

3、查看sshd服务

Centos7,要使用netstat的命令的话,需要安装net-tools后才可以使用。

# 安装netstat工具
yum instatll net-tools –y    
  • 检查sshd服务是否已经开启。
# 开启ssh服务
[root@localhost ssh]# sudo service sshd start
Starting sshd (via systemctl):                             [  确定  ]
# 重启ssh服务
[root@localhost ssh]# sudo service sshd restart
Restarting sshd (via systemctl):                

[root@localhost ssh]#  ss -ntp | grep 22

Centos 7无法SSH远程连接及解决方法_第6张图片

Centos 7无法SSH远程连接及解决方法_第7张图片

  • 检查 sshd 服务是否已经开启,或检查 22 号端口是否开启监听。
#检查 sshd 服务是否已经开启
[root@localhost ssh]# ps -e | grep sshd
# 检查 22 号端口是否开启监听
[root@localhost ssh]# netstat -an | grep 22
# 或
[root@localhost ssh]# netstat -anlpt | grep 22

Centos 7无法SSH远程连接及解决方法_第8张图片

Centos 7无法SSH远程连接及解决方法_第9张图片

  • 检查 sshd服务状态
[root@localhost ~]# systemctl status sshd

Centos 7无法SSH远程连接及解决方法_第10张图片

4、测试

4.1 网络测试
  • 在Vmware Workstation中,点击编辑=》虚拟网络编辑器,进入虚拟网络编辑器。确认虚拟机网络桥接外部网络(远程主机以太网2,ASIX AX88179A USB3.2网卡)。

Centos 7无法SSH远程连接及解决方法_第11张图片

Centos 7无法SSH远程连接及解决方法_第12张图片

  • 查看虚拟机Centos 7系统ip网络配置信息,保证虚拟机Centos 7与远程主机在同一网段,子网掩码、默认网关均一致。

Centos 7无法SSH远程连接及解决方法_第13张图片

Centos 7无法SSH远程连接及解决方法_第14张图片

  • 利用Ping测试查看虚拟机Centos 7与远程主机之间的连通性。

Centos 7无法SSH远程连接及解决方法_第15张图片

Centos 7无法SSH远程连接及解决方法_第16张图片

  • 经测试,虚拟机Centos 7与远程主机ip网络配置、联通性正常。
4.2 远程测试
  • 在SSH工具(此处使用的MobaXterm_Personal_12.3)中,新建连接,输入 CentOS 的 IP 地址、用户名、密码即可连接成功

Centos 7无法SSH远程连接及解决方法_第17张图片

Centos 7无法SSH远程连接及解决方法_第18张图片

5、设置开启自启动服务

  • 为了避免每次开启 CentOS 时,都要手动开启 sshd 服务,可以将 sshd 服务添加至自启动列表中。
# 设置开机自启动
[root@localhost ~]# systemctl enable sshd.service
  • 查看是否开启sshd 服务自启动
[root@localhost ~]# systemctl list-unit-files | grep sshd
anaconda-sshd.service                         static
sshd-keygen.service                           static
sshd.service                                  enabled
[email protected]                                 static
sshd.socket                                   disabled
[root@localhost ~]#

Centos 7无法SSH远程连接及解决方法_第19张图片

6、其他

# 查看ssh服务进程命令
ps -ef|grep ssh

# 设置ssh服务为开机启动命令:
chkconfig sshd on 

# 设置ssh服务禁止开机启动命令
chkconfig sshd off 

# 停止ssh服务命令
service sshd stop 

# 查看ssh服务22端口是否启动命令
netstat -antp | grep sshd

你可能感兴趣的:(Linux,运维技术栈,ssh,centos,服务器)