[Linux] 一次SSH认证失败引发的关于通过日志查错误的思考
一、缘由:
早上在用SSH公钥认证打通所有的机器,有一台机器在完成一些列操作后密钥登陆失败,其他机器一切正常。
错误如下:Public-key authentication with the server for user langxiaowwei failed. Please verify username and public/private key pair.
接着我开始懵逼,同样的操作,为什么不一样的结果呢,肯定是这台机器有问题。
环境:Ubuntu14.04
二、解决办法:
SecureCRT登陆算是一个网络交互操作吧,如果有详细日志看问题出在哪里就好了。登陆失败,在客户端来说,只有一个failed弹窗提醒,具体交互日志SecurtCRT本身
不知道去哪看(也许是我孤陋顾问)。那么就去看服务器端的日志,通过在查询认证日志auth.log后,发现如下信息:
Apr :: i-5z8r7pqj sshd[]: User langxiaowei not allowed because account is locked
Apr :: i-5z8r7pqj sshd[]: input_userauth_request: invalid user langxiaowei [preauth]
可以看到,是因为账户被锁住(神奇,刚建的用户就被锁定。锁定原因待查。。),导致SecureCRT一直登陆失败。
那么usermod -U langxiaowei 来解锁后,使用密钥顺利登陆。
其他方法:
1、SecureCRT登陆应该是SSH操作,故我们可以在另外一个台服务器上用命令行ssh连接它,打开verbose模式(ssh -vvv),可以看到具体连接失败信息。
2、对于服务端sshd,它本身是一个服务来着,故应该可以有详细的日志以供调试查看。
将ssh服务的日志级别调整到DEBUG3(/etc/ssh/sshd_config 中LogLevel),然后重启ssh服务。之后尝试登陆同时去查看系统日志即可。
3、检查各种权限,日志后还解决不了就可能是疑难杂症了。Google后知,可能是Selinux引起的(这个具体看自己的服务器,一般我设置Selinux是初始关闭的)
三、结论:
通过这个实例,我只想说当你的服务出问题,令你抓狂解决不了的时候,看日志是正确的选择,将日志的输出到最细化,总能发现原因。
不论是脚本,程序,还是系统服务器,故我们在写脚本和程序的时候,必须要处理好日志记录和将错误及时抛出。
当然,网络世界很复杂,如果真遇到解决不了的,还得Google O(∩_∩)O~
[Linux] 一次SSH认证失败引发的关于通过日志查错误的思考的更多相关文章
- linux服务器,svn认证失败,配置问题,防火墙等等
之前自己还真没设置过SVN,今天亲自动手,错误百出,真是够头疼的.在网上随便找了一篇文章,就按照文章介绍开始安装.怎么安装和设置我就不说了,这里主要记录遇到的问题. 1.不知道该怎么设置 svn:// ...
- 基于Linux解决登录ssh客户端失败问题—sshd error: could not load host key
当你ssh远程登录时,会发现ssh登录界面刚打开就会闪退,在查看主机日志消息中,就会看到如下错误: 然而问题的根源也就是这三个文件,无法正常加载ssh主机密钥. 而我们只需要将有问题的文件删除,然后重 ...
- Linux显示su:认证失败
1. sudo passwd 2.输入安装密码 3.输入新的Unix的root密码 4.重复密码 5.su 6.输入上面的新密码
- ssh客户端连接报认证失败
最近有个应用在并发导出的时候,报错了ssh认证失败,原来串行的时候都正常,经查,可能是ssh连接数不够的原因,这个问题刚好之前有个java开发反馈过,linux默认的ssh连接数为10个. 解决如下: ...
- SSH登录失败:Host key verification failed
转载自:https://help.aliyun.com/knowledge_detail/41471.html 注意:本文相关 Linux 配置及说明已在 CentOS 6.5 64 位操作系统中进行 ...
- 解决ssh或ftp下root用户认证失败问题
问题:当连接ssh远程终端或使用ftp方式进行文件传输时,使用普通用户可以进行远程登录,但使用root用户则认证失败,提示密码错误.而我们在普通用户登录下,su - root,验证密码,是可以正常切换 ...
- 针对通过 SSH 连接到 Azure Linux VM 时发生的失败、错误或被拒绝问题进行故障排除
尝试连接到 Linux 虚拟机 (VM) 时,有多种原因可能会导致安全外壳 (SSH) 错误.SSH 连接失败或被拒绝. 本文帮助用户找出原因并更正问题. 可以使用 Azure 门户.Azure CL ...
- linux中解决SSH连接慢问题 关键点GSSAPIAuthentication
[root@ok 6FE5-D831]# ssh -v xxx.xxx.xxx.64 OpenSSH_5.3p1, OpenSSL Feb debug1: Reading configuration ...
- linux服务之ssh
架构:c/s 开发语言:c语言 服务器端:在linux平台下部署 客户端:一般是cli界面下的ssh命令 官网:http://www.openssh.com/portable.html 25个必须记住 ...
随机推荐
- UML 之 数据流图(DFD)
数据流图(Data Flow Diagram):简称DFD,它从数据传递和加工角度,以图形方式来表达系统的逻辑功能.数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工 ...
- pushlet单播与多播
近期要弄一个消息推送的功能,在网上找了非常多的关于pushlet的文章,尽管写的都非常具体,可是本人看了以后却总认为是模棱两可···不知道怎样下手,终于參考了这些文章中的一些内容,并结合官网的源码.做 ...
- eclipse cdt Program "make" not found in PATH
eclipse cdt插件,开发c/c++程序,编译时报错Program "make" not found in PATH经查C:\MinGW\bin下确实无make.exe,有m ...
- Oracle创建库
oracle创建表空间 SYS用户在CMD下以DBA身份登陆: 在CMD中打sqlplus /nolog 然后再 conn / as sysdba --如果路径不存在则要创建路径 --创建临时表空间 ...
- 【zend studio】如何添加已存在的git项目
1.在zend里面新增项目crm2 2.win下进入crm2目录,右键选择 Git Bash Here,进项git clone操作 3.进入下载下来的GIT项目目录,选择复制,然后返回上一目录crm2 ...
- AjaxControlToolkit的使用
摘自:http://www.cnblogs.com/zm235/archive/2008/05/09/1189558.html 暂时的做法: 把AjaxControlToolkit.dll复制到项目的 ...
- 路径,通过navigation可以查看 *.class文件
?.class文件内的代码所在的文件的路径默认 举例1:读取项目根目录下的数据. private static void readRoot() throws FileNotFoundException ...
- (原+转)ubuntu16中安装opencv2.4.11(2.4.13)
转载请注明出处: http://www.cnblogs.com/darkknightzh/p/5638117.html 参考网址: http://www.cnblogs.com/jeakon/arch ...
- 在linux下安装并使用websocket
前言 首先,对websocket要有一个简要的了解与认识 websocket是HTML5开始提供的一种浏览器与服务器进行全双工通讯的网络技术,属于应用层协议. 它基于TCP传输协议,并复用HTTP的握 ...
- HDUOJ--1058HangOver
HangOver Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Su ...