解决ssh相关问题的方法与问题汇总

丈夫志四海,万里犹比邻。这篇文章主要讲述解决ssh相关问题的方法与问题汇总相关的知识,希望能为你提供帮助。
在ssh中,我们常遇到很多问题,尤其是登录问题,传文件问题,(sftp,scp传文件等问题,sftp,scp命令包括在ssh的安装包中,这里我们把sftp和ssh合到一起。)解决这类问题的方法,今天我们来总结下:


一、解决问题流程:
    日志分析---> 检查配置文件----> 客户端关键字百度搜索---> 联想到其它问题。


  1. ?日志分析。?
journalctl -f -u sshd
/var/log/secure
/var/log/message
#先通过这3种查看日志的方法,去找线索,找到线索不能解决的,可以根据线索百度一下。

  1. ?检查配置文件。?
/etc/ssh/ssh_config是服务器作为客户端的时候,配置文件,
/etc/ssh/sshd_config是服务器作为服务端的时候,配置文件,

#检查配置文件正确性,是否是配置错了,配置文件里面出现的路径,是否都存在。
#80%的问题可以说都是配置文件的问题,这里在你熟悉配置文件的参数的前提下,一定要先去把配置文件检查一遍,
或许问题就可以解决了。
前面这两步基本可以解决80%的问题。

3、?百度。?
根据前端客户端的提示,作为百度的关键字搜索,排查问题。
4、?系统默认的模块问题。?
当上面的方法都不能给你解决问题的线索之后,要联想到系统认证模块问题,比如/etc/pam.d/system-auth文件,当被修改的时候经常会出现ssh的登陆问题。一些服务器通常都会做一些基础加固,会修改此文件。


二、问题汇总:
1、显示问题现象如下:
[root@filebeat1 ~]# sftp 127.0.0.1
root@127.0.0.1s password:  
Connection closed
sftp连接后直接关闭了
解析过程:
#步骤1:
通过日志分析--> 配置文件--> 百度
[root@filebeat1 ~]# journalctl -u sshd #查看就发现一条日志,貌似没什么报错
Mar 26 09:47:58 filebeat1 sshd[63487]: Accepted password for root from 127.0.0.1 port 40632 ssh2

[root@filebeat1 ~]# tail /var/log/secure#这个日志好像也没有报什么错,看不出问题呀
Mar 26 09:47:58 zabbix-server sshd[63487]: Received disconnect from 127.0.0.1 port 40632:11: disconnected by user
Mar 26 09:47:58 zabbix-server sshd[63487]: Disconnected from 127.0.0.1 port 40632
Mar 26 09:47:58 zabbix-server sshd[63487]: pam_unix(sshd:session): session closed for user root

#步骤2:
检查配置文件,以及配置文件里面出现的路径正确性。
cat /etc/ssh/sshd_config 看起来没错,看到路径Subsystem sftp/usr/libexec/openssh/sftp-server ,
ls一下/usr/libexec/openssh/sftp-server路径提示路径不存在,哦豁,问题可能在这里了,把上面的参数
修改为Subsystem sftp internal-sftp,重启ssh服务,
发现ok了,从这里证明是配置文件问题,但是,日志里面并没有显示报错。这个可以说是一个经验问题吧。我已经碰到过两次。

#步骤3
其实上面根据客户端报错去百度字段ssh Connection closed,也是可以定位在Subsystem sftp参数问题,如果你了解这个参数,
就可以很快定位出来。

【解决ssh相关问题的方法与问题汇总】


    推荐阅读