乐趣区

关于linux:如何调试SSH连接

本文将介绍一些可用于诊断 SSH 连贯的疾速办法和技术,包含何时无奈连贯 SSH,身份验证谬误等。
问题一:SSH 服务没有运行
SSH 连贯谬误的常见起因是服务未在近程服务器上运行。这可能是因为服务意外敞开或零碎重新启动后服务未启动而引起的。

要查看 SSH 服务是否正在运行,请运行上面命令:

[root@server1 ~]# systemctl status sshd
如何调试 SSH 连贯如何调试 SSH 连贯

解决办法
应用以下命令设置 SSH 服务开机启动,并启动服务:

[root@server1 ~]# systemctl enable sshd
[root@server1 ~]# systemctl start sshd
问题二:非标准端口上的 SSH
调试 SSH 连贯时的第二个常见问题是应用非标准端口。如果 SSH 在默认端口 22 以外的其余端口上运行,则除非明确指定运行 SSH 的端口,否则将不能连贯到近程主机。
news.163.com/17/0616/09/CN1TVBSF00018AOP.html
news.163.com/17/0606/10/CM89AAKB00018AOP.html
www.51cto.com/it/news/2020/0624/21601.html
要查看运行 SSH 的端口,请应用 netstat 之类的工具,如下所示:

[root@clean-idea-1 ~]# netstat -tlunp|grep sshd
tcp 0 0 0.0.0.0:28159 0.0.0.0:* LISTEN 818/sshd
tcp6 0 0 :::28159 :::* LISTEN 818/sshd
如何调试 SSH 连贯如何调试 SSH 连贯
下面的输入显示了 SSH 服务在哪个端口上运行。在这种状况下,它是端口 28159。

解决办法
端口不是默认的 22 时,连贯就须要指定端口了:

[root@server1 ~]# ssh root@192.168.43.131 -p 28159
问题三:端口被占用
SSH 连贯谬误的另一个起因是其余服务或过程是否也应用与 SSH 服务雷同的端口。例如,SSH 的端口号为 80,这和 http 服务的端口抵触了,则相似 Apache 的服务可能正在应用雷同的端口。

要查看其余过程是否正在应用与 SSH 雷同的端口,请应用以下命令查看日志:

[root@server1 ~]# journalctl -t sshd
该命令应返回如下所示的谬误,显示端口已被占用。
如何调试 SSH 连贯如何调试 SSH 连贯

解决办法
在这能够批改 ssh 的端口号,关上配置文件将端口批改为其余的,Port 2222

vim /etc/ssh/sshd_config

Port 2222
如何调试 SSH 连贯如何调试 SSH 连贯

问题四:被防火墙阻止
如果尝试了上述所有办法,仍无奈建设 SSH 连贯,则能够看看防火墙是否阻止连贯?

解决办法
在 Cetnos8 中,应用 fireawlld 查看防火墙,并将端口增加容许外面:

[root@server1 ~]# firewall-cmd –list-all
[root@server1 ~]# firewall-cmd –permanent –add-port=2222/tcp
success
[root@server1 ~]# firewall-cmd –reload
success
如何调试 SSH 连贯如何调试 SSH 连贯

问题五:已禁用明码登录
有时,您能够将 SSH 配置为不承受明码登录,而仅应用公密钥身份验证。如果公钥在服务器上不可用或短少私钥对,则可能导致不能登录的问题。

解决办法
要查看 /etc/ssh/sshd_config 配置文件是否容许明码登录,请将 ssh 配置设置为如下:

[root@server1 ~]# grep PasswordAuthentication /etc/ssh/sshd_config

PasswordAuthentication yes

PasswordAuthentication yes

PasswordAuthentication. Depending on your PAM configuration,

PAM authentication, then enable this but set PasswordAuthentication

下面的输入显示容许明码登录。

总结
本文探讨了 SSH 连贯谬误的次要起因以及如何解决它们。

退出移动版