一、缘由:

  早上在用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. UML 之 数据流图(DFD)

          数据流图(Data Flow Diagram):简称DFD,它从数据传递和加工角度,以图形方式来表达系统的逻辑功能.数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工 ...

  2. pushlet单播与多播

    近期要弄一个消息推送的功能,在网上找了非常多的关于pushlet的文章,尽管写的都非常具体,可是本人看了以后却总认为是模棱两可···不知道怎样下手,终于參考了这些文章中的一些内容,并结合官网的源码.做 ...

  3. eclipse cdt Program "make" not found in PATH

    eclipse cdt插件,开发c/c++程序,编译时报错Program "make" not found in PATH经查C:\MinGW\bin下确实无make.exe,有m ...

  4. Oracle创建库

    oracle创建表空间 SYS用户在CMD下以DBA身份登陆: 在CMD中打sqlplus /nolog 然后再 conn / as sysdba --如果路径不存在则要创建路径 --创建临时表空间 ...

  5. 【zend studio】如何添加已存在的git项目

    1.在zend里面新增项目crm2 2.win下进入crm2目录,右键选择 Git Bash Here,进项git clone操作 3.进入下载下来的GIT项目目录,选择复制,然后返回上一目录crm2 ...

  6. AjaxControlToolkit的使用

    摘自:http://www.cnblogs.com/zm235/archive/2008/05/09/1189558.html 暂时的做法: 把AjaxControlToolkit.dll复制到项目的 ...

  7. 路径,通过navigation可以查看 *.class文件

    ?.class文件内的代码所在的文件的路径默认 举例1:读取项目根目录下的数据. private static void readRoot() throws FileNotFoundException ...

  8. (原+转)ubuntu16中安装opencv2.4.11(2.4.13)

    转载请注明出处: http://www.cnblogs.com/darkknightzh/p/5638117.html 参考网址: http://www.cnblogs.com/jeakon/arch ...

  9. 在linux下安装并使用websocket

    前言 首先,对websocket要有一个简要的了解与认识 websocket是HTML5开始提供的一种浏览器与服务器进行全双工通讯的网络技术,属于应用层协议. 它基于TCP传输协议,并复用HTTP的握 ...

  10. HDUOJ--1058HangOver

    HangOver Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Su ...