故障排查:SSH连接失效的四大常见原因

译文
安全 应用安全
在今天的文章中,我们将尝试汇总各类常见SSH故障原因,从而帮助大家更为顺畅地加以解决。

【51CTO.com快译】作为DevOps或者IT专业人士,人们往往困扰于为何无法通过SSH接入服务器。这种情况时有发生,且相当令人头痛。

在今天的文章中,我们将尝试汇总各类常见SSH故障原因,从而帮助大家更为顺畅地加以解决。

故障排查:SSH连接失效的四大常见原因

1.我们的SSH公钥未被注入至服务器

以密码形式实现的SSH非常危险。目前,绝大多数服务器都仅接受以密钥文件为载体的SSH。以下为具体流程:

我们生成一个SSH密钥对(也可以更进一步,以密码保护私钥)。

将SSH公钥发送至服务器管理者处。

管理员将我们的SSH公钥进行注入(通常为~/.ssh/authorized_keys)。

之后即可使用SSH。

好了,下面正式来看各类最常见的SSH故障!

  1. denny@laptop:/# ssh root@www.dennyzhang.com 
  2. Permission denied (publickey). 

以上故障信息可能存在两种原因:

(1). 私钥不具备登录权限。 公钥未被正确注入或者公钥已经丢失。

注意:如果暂时联系不到运维/DevOps人员,可先考虑团队中还有谁能够进行SSH接入。事实上,任何可以SSH接入的人员都可执行此类变更。

(2). 本地SSH公钥与私钥未正确配对。

在连接之前,SSH会检查我们的公钥与私钥是否正确进行了配对。如果没有,其会以静默方式拒绝使用私钥。没错,静默方式。

这种错误很可能源自某些指生成的自动化脚本。另外,如果我们只使用一条未匹配公钥的有效私钥,并不会引发错误。

2.防火墙阻止我们进行连接

出于安全考量,人们可能会执行一项较为严格的防火墙策略,这意味着只有特定IP能够建立SSH连接。

  1. denny@laptop:/# ssh root@www.dennyzhang.com 
  2. ssh: connect to host www.dennyzhang.com port 22: Connection refused 
  3.  
  4. # Confirm with telnet. Usually it shall connect in seconds 
  5. denny@laptop:/# telnet www.dennyzhang.com 
  6. Trying 104.237.149.124... 

遇到上述情况,大家可能希望马上寻求帮助——先别急。

人们可能重新配置SSHD以监听其它端口。您是否确定其为端口22?另外,也应当再次检查服务器IP与DNS名称。

在确认之后,与DevOps取得联系。这就引发了此类故障的第二种可能原因:SHHD并未上线运行。虽然很少见,但这一问题确实可能出现。这时DevOps与运维人员需要立即采取行动。

3. 主机密钥检查失败

当初次看到以下警报时,大家可能感到困惑。简单来说,其能够帮助我们避免中间人攻击。

  1. denny@laptop:/# ssh root@www.dennyzhang.com 
  2. @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 
  3. @       WARNING: POSSIBLE DNS SPOOFING DETECTED!          @ 
  4. @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 
  5. The ECDSA host key for [www.dennyzhang.com]:22 has changed, 
  6. and the key for the corresponding IP address [45.33.87.74]:22 
  7. is unknown. This could either mean that 
  8. DNS SPOOFING is happening or the IP address for the host 
  9. and its host key have changed at the same time
  10. @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 
  11. @    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @ 
  12. @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 
  13. IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! 
  14. Someone could be eavesdropping on you right now (man-in-the-middle attack)! 
  15. It is also possible that a host key has just been changed. 
  16. The fingerprint for the ECDSA key sent by the remote host is 
  17. 37:df:b3:af:54:a3:57:05:aa:32:65:fc:a8:e7:f9:3a. 
  18. Please contact your system administrator. 
  19. Add correct host key in /root/.ssh/known_hosts to get rid of this message. 
  20. Offending ECDSA key in /root/.ssh/known_hosts:2 
  21.   remove with: ssh-keygen -f "/root/.ssh/known_hosts" -R [www.dennyzhang.com]:22 
  22. ECDSA host key for [www.dennyzhang.com]:22 has changed and you have requested strict checking. 
  23. Host key verification failed. 

每台服务器都拥有一条指纹。如果该服务器被重新配置或者单纯被更换为另一台不同服务器,则指纹亦将有所变化。在成功登录之后,我们的笔记本会本地保存服务器指纹。在下一次登录时,其将首先进行比较。如果指纹不匹配,我们就会收到以上警报。

如果我们砍服务器最近进行过重新配置,则可忽略该警报。从~/.ssh/known_hosts中移除此入口,或者直接清空该文件。大家甚至可以关闭一切SSH主机密钥检查(当然,不建议采取这种方法)。

4. SSH密钥文件模式存在问题

SSH密钥文件具备自我保护属性,这意味着其无法被随意打开。该文件模式为0600或者0400。

  1. denny@laptop:/# ssh -i id_rsa root@www.dennyzhang.com 
  2. @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 
  3. @         WARNING: UNPROTECTED PRIVATE KEY FILE!          @ 
  4. @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 
  5. Permissions 0644 for 'id_rsa' are too open
  6. It is required that your private key files are NOT accessible by others. 
  7. This private key will be ignored. 
  8. bad permissions: ignore key: id_rsa 
  9. Permission denied (publickey). 

大家可以使用-v输出详尽信息:ssh -v $user@$server_ip。

原文标题:4 Reasons Why SSH Connections Fail,作者:Denny Zhang

【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】

责任编辑:蓝雨泪 来源: 51CTO.com
相关推荐

2014-04-22 13:51:40

综合布线通信光纤光缆线路

2009-03-26 10:29:10

故障事务日志SQL Server

2023-08-03 14:45:00

数字孪生

2021-11-05 15:20:07

云配置错误云安全数据泄露

2011-04-14 13:42:23

漏杀病毒木马

2010-09-07 16:52:50

DHCP服务器故障

2010-08-18 09:39:37

2018-08-30 08:18:07

2021-08-02 18:08:53

网站安全SQL技术

2012-11-16 10:07:08

Staten云安全云计算

2010-07-05 11:12:43

常用UML图

2013-03-25 17:08:12

应用使用率

2015-09-01 14:13:59

白盒设备网络设备

2014-05-15 11:13:50

2022-09-19 23:14:10

人工智能机器学习数据分析

2016-07-08 14:02:29

云计算

2011-03-21 09:01:49

CSS框架

2015-07-17 09:50:16

Carthage优劣比较

2023-06-07 11:25:40

2016-10-09 20:31:19

点赞
收藏

51CTO技术栈公众号