注:这里以ubuntu系统为例。

1. ssh服务是否已经启动

1.1 sshd服务是否已经安装

ubuntu 20.04 LTS默认安装openssh-server,如果没有安装就需要使用apt软件进行服务安装。

安装查询命令:

$ aptitude search openssh-server
i   openssh-server                                                              - secure shell (SSH) server, for secure access from remote machines
p   openssh-server:i386                                                         - secure shell (SSH) server, for secure access from remote machines

这里显示“i”表示已经安装,如果没有安装就需要使用apt软件进行服务安装,命令如下:

$ sudo apt-get install openssh-server

1.2 sshd是否已经启动

通过ps命令查询到sshd进程:

$ ps -e|grep ssh
    942 ?        00:00:00 sshd
   1255 ?        00:00:00 ssh-agent
   1322 ?        00:00:00 sshd
   1413 ?        00:00:00 sshd

如果进程能够被查询到,证明进程已经启动;如果没有,则需要重启ssh服务:

$ sudo /etc/init.d/ssh start
Starting ssh (via systemctl): ssh.service.
$ sudo /etc/init.d/ssh restart
Restarting ssh (via systemctl): ssh.service.

2. 检查sshd配置

将PermitRootLogin prohibit-password前面加上#注释掉,添加PermitRootLogin yes。

$ vim /etc/ssh/sshd_config
$ sudo /etc/init.d/ssh restart

注:修改完成后一定要记得重启进程。

3.检查路由情况

简单ping下服务器能否通:

$ ping 192.168.68.53
PING 192.168.68.53 (192.168.68.53) 56(84) bytes of data.
64 bytes from 192.168.68.53: icmp_seq=1 ttl=64 time=0.072 ms
64 bytes from 192.168.68.53: icmp_seq=2 ttl=64 time=0.054 ms
64 bytes from 192.168.68.53: icmp_seq=3 ttl=64 time=0.049 ms

4. 检查hosts许可文件

$ vim /etc/hosts.allow
$ vim /etc/hosts.deny

5.检查防火墙问题

5.1 检查防火墙是否启动

可能存在防火墙屏蔽sshd的服务情况,检查命令如下:

$ sudo ufw status
Status: active

如果是active,不用关心怎么配置让ssh通过,先关掉防火墙试试(如果确认是防火墙,在专门找防火墙的问题)

$ sudo ufw disable
Firewall stopped and disabled on system startup

5.2 修改防火墙配置

当确认是防火墙问题,就需要进行防火墙的配置。

首先,通过配置文件确认sshd的端口:

$ vim /etc/ssh/sshd_config

如果没有配置Port这个参数,默认是22端口

$ sudo ufw allow 22

重新更新ufw配置

$ sudo ufw reload
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐