参考: http://blog.sina.com.cn/s/blog_148a693f10102vj8m.html

什么是SSH?

简单说,SSH是一种网络协议,用于计算机之间的加密登录。

如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,我们就可以认为,这种登录是安全的,即使被中途截获,密码也不会泄露。

最早的时候,互联网通信都是明文通信,一旦被截获,内容就暴露无疑。1995年,芬兰学者Tatu Ylonen设计了SSH协议,将登录信息全部加密,成为互联网安全的一个基本解决方案,迅速在全世界获得推广,目前已经成为Linux系统的标准配置。

需要指出的是,SSH只是一种协议,存在多种实现,既有商业实现,也有开源实现。本文针对的实现是OpenSSH,它是自由软件,应用非常广泛。

中间人攻击

SSH之所以能够保证安全,原因在于它采用了公钥加密。

整个过程是这样的:(1)远程主机收到用户的登录请求,把自己的公钥发给用户。(2)用户使用这个公钥,将登录密码加密后,发送回来。(3)远程主机用自己的私钥,解密登录密码,如果密码正确,就同意用户登录。

这个过程本身是安全的,但是实施的时候存在一个风险:如果有人截获了登录请求,然后冒充远程主机,将伪造的公钥发给用户,那么用户很难辨别真伪。因为不像https协议,SSH协议的公钥是没有证书中心(CA)公证的,也就是说,都是自己签发的。

可以设想,如果攻击者插在用户与远程主机之间(比如在公共的wifi区域),用伪造的公钥,获取用户的登录密码。再用这个密码登录远程主机,那么SSH的安全机制就荡然无存了。这种风险就是著名的"中间人攻击"(Man-in-the-middle attack)。

SSH协议是如何应对的呢?

公钥检查

如果你是第一次登录对方主机,系统会出现下面的提示:

$ ssh user@hostThe authenticity of host 'host (12.18.429.21)' can't be established.RSA key fingerprint is 98:2e:d7:e0:de:9f:ac:67:28:c2:42:2d:37:16:58:4d.Are you sure you want to continue connecting (yes/no)?

这段话的意思是,无法确认host主机的真实性,只知道它的公钥指纹,问你还想继续连接吗?

所谓"公钥指纹",是指公钥长度较长(这里采用RSA算法,长达1024位),很难比对,所以对其进行MD5计算,将它变成一个128位的指纹。上例中是98:2e:d7:e0

SSH known_hosts / authorized_keys 的解释相关推荐

  1. scp传文件时报错Add correct host key in /root/.ssh/known_hosts to get rid of this message

    在两个服务器之间用scp命令传文件时报错 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @    WARNING: REMOT ...

  2. Please contact your system administrator. Add correct host key in /Users/***/.ssh/known_hosts

    Please contact your system administrator. Add correct host key in /Users/***/.ssh/known_hosts macOS系 ...

  3. ssh远程出错Add correct host key in /home/xxx/.ssh/known_hosts to get rid of this message

    ssh远程出错 scp 远程复制文件出错 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: REMOTE H ...

  4. ubuntu ssh Host key verification failed,Host 10.xxx.xxx.xxx not found in /home/user/.ssh/known_hosts

    $ sudo apt-get install sshpass $ sudo bash scp_models_toxxx.sh 用ssh脚本传文件时报错 报错截取: ECDSA host key for ...

  5. Please contact your system administrator. Add correct host key in /Users/*********/.ssh/known_hosts

    Please contact your system administrator. Add correct host key in /Users/***/.ssh/known_hosts macOS系 ...

  6. ssh:使用ssh链接服务器的时候报错 Add correct host key in /root/.ssh/known_hosts to get rid of this message

    今天在公司内网登陆阿里云服务器的时候,执行ssh报错,提示  Add correct host key in /root/.ssh/known_hosts to get rid of this mes ...

  7. ssh 配置了,但git clone失败了,hostkeys_find_by_key_hostfile: hostkeys file /Users/XX/.ssh/known_hosts

    今天Gitlab上配置了 项目 git clone ssh 无法拉代码,换成git clone http的可以 ssh -vvvT git@XXX.XX 发现提示hostkeys_find_by_ke ...

  8. /root/.ssh/known_hosts [SSH] No Known Hosts file was found at /root/.ssh/known_hosts. Please ensure

    Jenkins配置节点报错 SSHLauncher{host='192.168.111.129', port=22, credentialsId='aa9fc1b1-ccc2-470f-a612-f2 ...

  9. Add correct host key in C:\\Users\\xxx/.ssh/known_hosts to get rid of this message.

    一.问题描述 云服务器ECS的系统从windows 10(操作系统) 换成CentOS(操作系统)的时候,在本地主机的windows 10 控制台Windows PowerShell用 ssh 连接到 ...

  10. centos升级openssh之后,连接报错Add correct host key in /root/.ssh/known_hosts to get rid of this message

    报错提示 Add correct host key in /root/.ssh/known_hosts to get rid of this message 解决办法: rm ~/.ssh/known ...

最新文章

  1. [WPF]WPF中材质制作——图片和矢量图之争
  2. python按章节分割txt_python爬虫,爬取小说
  3. 亲身体验后,为你安利 3 个远程桌面控制软件~
  4. mysql select查询语句_mysql的select查询语句
  5. 全国计算机等级考试题库二级C操作题100套(第100套)
  6. 探秘 Dubbo 的度量统计基础设施 - Dubbo Metrics
  7. Java快速入门学习笔记8 | Java语言中的数组
  8. python 函数中的面试题
  9. 求一个任意实数c的算术平方根g_中考总复习实数知识点
  10. 【转】认识 C++ 中的 explicit 关键字
  11. android+ndk+libevent,android ndk 编译 libevent
  12. java使用tar算法压缩解压缩文件、数据流、byte[]字节数组
  13. python max((1、2、3)*2)_【Python】python基础2(2)
  14. java des 加密 js 解密_js 实现DES加密解密
  15. Jarvis_Web 刷题记录_Bellone北洛
  16. 第一次参加pub的地面聚会
  17. 计算机掷骰子吗?关于随机数的一些细节
  18. HTML点击图片,弹窗并放大
  19. Elasticsearch 查询时 判断不为null或不为空字符串
  20. python进程池multiprocessing.Pool和线程池multiprocessing.dummy.Pool实例

热门文章

  1. 软考中级-软件设计师 复习指南(2021年11月已通过)
  2. webuploader直接上传文件到百度云BOS中
  3. 上|中国股市九大伪元宇宙概念股
  4. 声学模型GMM-HMM训练
  5. 理解容器中超易混淆 Attach 和 Exec 的异同
  6. 【饥荒脚本】饥荒控制台代码自动输入
  7. ECN Trade:飓风灾害短暂冲击美国经济
  8. 微信小程序跳转其他外部网站上
  9. python oled_树莓派使用 OLED 屏显示图片及文字
  10. wordpress 更改excerpt的长度,设置excerpt后面'[...]'的字样和链接