SSH连接异常:从迷茫到石破天惊的解决之道(离谱版2.0)

一 问题描述

  • 本次问题出现的环境,真机ubuntu环境下,安装ssh服务和开放22端口,后出现连接异常

二 问题思路分析

  1. 首先还是跟之前的思路一样,检查网络是否通常
ping 服务器ip
C:\Users\HP>ping 192.168.1.25

正在 Ping 192.168.1.25 具有 32 字节的数据:
来自 192.168.1.25 的回复: 字节=32 时间=8ms TTL=64
来自 192.168.1.25 的回复: 字节=32 时间=3ms TTL=64
来自 192.168.1.25 的回复: 字节=32 时间=3ms TTL=64
来自 192.168.1.25 的回复: 字节=32 时间=3ms TTL=64

192.168.1.25 的 Ping 统计信息:
    数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
    最短 = 3ms,最长 = 8ms,平均 = 4ms
  1. 确保22端口,是否正常开放结果
root@kongyueshang:~# sudo ss -tuln | grep :22
tcp   LISTEN 0      128                               0.0.0.0:22         0.0.0.0:*
tcp   LISTEN 0      128                                  [::]:22            [::]:*

解释一下命令:

命令 解释
sudo 使用管理员权限执行命令,因为端口状态需要特权访问权限。
ss Socket统计工具,用于查看套接字信息。
-t 仅显示TCP协议的套接字。
-u 仅显示UDP协议的套接字。
-l 仅显示监听状态的套接字。
-n 直接显示IP地址和端口号,而不做反向解析。
grep 22: 在输出中过滤包含":22"的行,即过滤出22端口的相关信息。
  1. 然后,我怀疑是防火墙的问题,关闭防火墙之后,再次尝试,仍然出现无法连接的情况

三 解决方法

  1. 一顿有效思考之后,还是没有任何头绪,就去网络上,最终找到了解决方法。

3.1 来自网络的解决方案

  1. ssh默认配置为了安全考虑,禁止root权限,进行远程。所以我们使用root用户一直连接不上。
  2. 可以修改解决配置文件/etc/ssh/sshd_config,开放root用户进行登录
  • 注意:在学习阶段,可以使用root进行远程,但是不建议在实际的环境中这样做!
  1. 修改内容如下即可,重点是PermitRootLogin yes,其他的可以了解一下:
#LoginGraceTime 2m
#PermitRootLogin prohibit-password
PermitRootLogin yes
StrictModes yes
#MaxAuthTries 6
#MaxSessions 10
  • LoginGraceTime 2m: 此选项指定SSH客户端连接到服务器后,允许进行身份验证的最长时间。在这里,2m表示2分钟,如果客户端在2分钟内没有完成身份验证,连接将被终止。
  • PermitRootLogin prohibit-password: 用于配置是否允许以root用户直接登录,prohibit-password选项表示不允许使用密码登录,但允许使用其他认证方式(例如SSH密钥)登录。
  • PermitRootLogin yes: 该行指定允许以root用户直接登录,且可以使用密码进行登录。请注意,允许root用户直接通过SSH登录可能会增加系统安全风险,通常不建议这样做。
  • StrictModes yes: 此选项指定SSH服务器在检查用户家目录和SSH配置文件的权限时是否启用严格模式。如果设置为yes,SSH服务器会拒绝权限设置不正确的目录和文件。
  • MaxAuthTries 6: 此选项指定在单个连接中允许的最大身份验证尝试次数。如果身份验证尝试次数超过这个值,连接将被终止。在这里,6表示最多允许6次尝试。
  • MaSessions 10: 此选项指定单个用户可以同时打开的最大SSH会话数。在这里,10表示允许最多同时打开10个会话。

3.2 操作方法

3.2.1 命令式:终端配置

  • 目前我们的毛病都是:道理我懂,实践大便。所以,这里详细记录一下,具体的操作,同时复习一下,linux的基础操作命令。
  1. 使用vim编辑器修改文件
vi /etc/ssh/sshd_config

使用 vi 命令打开文件后,可以通过以下步骤修改文件内容:

  1. 按下 i 键:这将使 vi 进入 “插入” 模式,允许输入并编辑文件内容。
  2. 进行所需修改:使用键盘编辑文件内容,就像在普通文本编辑器中一样。
  3. 保存修改:编辑完成后,按下 Esc 键退出 插入 模式。然后输入 :w(不带引号),按下 Enter 键。这个命令会保存修改但不退出 vi
  4. 退出 vi:要退出 vi,输入 :q(不带引号),然后按下 ‘Enter’ 键。如果有未保存的修改,vi 不会退出,需要先保存修改。
  • 保存修改的同时退出 vi,可以将命令组合在一起,像这样输入::wq,然后按 Enter'键。

vi 的基本命令总结

  • 按 ‘i’ 进入 “插入” 模式(开始编辑)。
  • 按 ‘Esc’ 退出 “插入” 模式(返回普通模式)。
  • 输入 ‘:w’ 保存修改(在普通模式下)。
  • 输入 ‘:q’ 退出 vi(在普通模式下)。
  • 输入 ‘:wq’ 保存并退出 vi(在普通模式下)。

3.2.2 面板式:1panel配置

  1. 完成登陆后,打开主机->ssh配置->全部配置,然后添加PermitRootLogin yes
    在这里插入图片描述

3.2.3 摆烂式:用户连接

  1. 使用非root是可以正常连接的,但是可能有时候操作权限不够。
  2. 推荐使用1panel中的终端进行连接检测
    在这里插入图片描述

四 结语

  • 今天的总结,就到这里了,很高兴能和大家分享有用的知识!

猜你喜欢

转载自blog.csdn.net/yang2330648064/article/details/131484606