• 如何调试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的端口,否则将不能连接到远程主机。

    要查看运行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连接,则可以看看防火墙是否阻止连接?

    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

    解决方法

    在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连接错误的主要原因以及如何解决它们。

  • 相关阅读:
    MOCK服务小结
    微信收款「商业版」与「个人版」有什么区别?看完这篇你就懂!
    LB 负载均衡的层次结构
    中兴应用之星携手天翼开放平台:让APP开发更简单
    常见面试题之二叉树
    【深入JAVA EE】Spring配置文件解析
    spring-struts-mybatis整合错误集锦
    Redis安装
    Atitit.ati dwr的原理and设计 attilax 总结 java php 版本号
    Android UI开发神兵利器之Icon
  • 原文地址:https://www.cnblogs.com/linuxprobe/p/16197212.html
Copyright © 2020-2023  润新知