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

Posted luckyLiang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决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相关问题的方法与问题汇总的主要内容,如果未能解决你的问题,请参考以下文章

AppFuse 3常见问题与解决方法

git报错解决方案及使用方法汇总

linux(centos) 项目部署阶段相关命令汇总

「深度学习一遍过」必修26:机器学习与深度学习基础知识汇总

「深度学习一遍过」必修26:机器学习与深度学习基础知识汇总

「深度学习一遍过」必修26:机器学习与深度学习基础知识汇总