一、缘由:

  早上在用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认证失败引发的关于通过日志查错误的思考的更多相关文章

  1. linux服务器,svn认证失败,配置问题,防火墙等等

    之前自己还真没设置过SVN,今天亲自动手,错误百出,真是够头疼的.在网上随便找了一篇文章,就按照文章介绍开始安装.怎么安装和设置我就不说了,这里主要记录遇到的问题. 1.不知道该怎么设置 svn:// ...

  2. 基于Linux解决登录ssh客户端失败问题—sshd error: could not load host key

    当你ssh远程登录时,会发现ssh登录界面刚打开就会闪退,在查看主机日志消息中,就会看到如下错误: 然而问题的根源也就是这三个文件,无法正常加载ssh主机密钥. 而我们只需要将有问题的文件删除,然后重 ...

  3. Linux显示su:认证失败

    1. sudo passwd 2.输入安装密码 3.输入新的Unix的root密码 4.重复密码 5.su 6.输入上面的新密码

  4. ssh客户端连接报认证失败

    最近有个应用在并发导出的时候,报错了ssh认证失败,原来串行的时候都正常,经查,可能是ssh连接数不够的原因,这个问题刚好之前有个java开发反馈过,linux默认的ssh连接数为10个. 解决如下: ...

  5. SSH登录失败:Host key verification failed

    转载自:https://help.aliyun.com/knowledge_detail/41471.html 注意:本文相关 Linux 配置及说明已在 CentOS 6.5 64 位操作系统中进行 ...

  6. 解决ssh或ftp下root用户认证失败问题

    问题:当连接ssh远程终端或使用ftp方式进行文件传输时,使用普通用户可以进行远程登录,但使用root用户则认证失败,提示密码错误.而我们在普通用户登录下,su - root,验证密码,是可以正常切换 ...

  7. 针对通过 SSH 连接到 Azure Linux VM 时发生的失败、错误或被拒绝问题进行故障排除

    尝试连接到 Linux 虚拟机 (VM) 时,有多种原因可能会导致安全外壳 (SSH) 错误.SSH 连接失败或被拒绝. 本文帮助用户找出原因并更正问题. 可以使用 Azure 门户.Azure CL ...

  8. linux中解决SSH连接慢问题 关键点GSSAPIAuthentication

    [root@ok 6FE5-D831]# ssh -v xxx.xxx.xxx.64 OpenSSH_5.3p1, OpenSSL Feb debug1: Reading configuration ...

  9. linux服务之ssh

    架构:c/s 开发语言:c语言 服务器端:在linux平台下部署 客户端:一般是cli界面下的ssh命令 官网:http://www.openssh.com/portable.html 25个必须记住 ...

随机推荐

  1. Camel之AsyncProcessor

    Camel支持一种更复杂的异步的处理模型,异步处理器实现一个继承自Processor接口的AsyncProcessor接口,使用异步Processor的长处: a.异步Processor不会因等待堵塞 ...

  2. Android 四大组件学习之BroadcastReceiver三

    本节学习广播的分类. 广播分为无序广播和有序广播 无序广播: 广播发送者的action与广播接收者的action都匹配的话,所以广播介绍者都能够收到这条广播,而且没有先后顺序,能够觉得是同一时候收到 ...

  3. Linux内核中网络数据包的接收-第一部分 概念和框架

    与网络数据包的发送不同,网络收包是异步的的.由于你不确定谁会在什么时候突然发一个网络包给你.因此这个网络收包逻辑事实上包括两件事:1.数据包到来后的通知2.收到通知并从数据包中获取数据这两件事发生在协 ...

  4. java正则表达式简介

    Java的正则表达式讲解:(为了能看清,本文正则表达式用中文的句号代替英文句点) 1 英文句点符号:匹配单个任意字符. eg: 表达式”t.o  可以匹配:tno,t#o,teo等等.不可以匹配:tn ...

  5. innodb_file_per_table

    MySQL InnoDB引擎 默认会将所有的数据库InnoDB引擎的表数据存储在一个共享空间中:ibdata1,当增删数据库的时候,ibdata1文件不会自动收缩,单个数据库的备份也将成为问题.通常只 ...

  6. or1200中载入存储类指令说明

    下面内容摘自<步步惊芯--软核处理器内部设计分析>一书 OR1200中实现的载入存储类指令有8条,每条指令的作用与说明如表9.1所看到的. watermark/2/text/aHR0cDo ...

  7. 纯jascript解决手机端拍照、选图后图片被旋转问题

    需要的js1 需要的js2 这里主要用到Orientation属性. Orientation属性说明如下: 旋转角度 参数 0° 1 顺时针90° 6 逆时针90° 8 180° 3 <!DOC ...

  8. java 管道流代码示例

    import java.io.IOException;import java.io.PipedInputStream;import java.io.PipedOutputStream; public ...

  9. Linux 系统sudo命令

    Linux系统中有许多的系统命令和服务为了安全性考虑,因此只有root超级用户才可以去使用.如果普通用户需要做此类操作,则可以使用su - 命令(减号(-)指完全切换到新的用户,即把环境变量信息也变更 ...

  10. 从零开始学做微信小程序,看这些就够了!

    随着正式开放公测,微信小程序再次万众瞩目,越来越多的企业和个人涌入到小程序开发的大军中.小程序究竟是什么?适合做小程序的产品有哪些?做小程序需要提前准备什么?如何零基础学做小程序?此文,将列出OSC上 ...