SSH 原理与应用

2018-01-10  本文已影响8人  当当一丢丢

什么是 SSH

SSH 的实现

SSH 登录基本用法

SSH 登录流程

  1. Client 发起登录请求,即 ssh user@hostname
  2. Server 接收 Client 的登录请求,并将自己的公钥发给 Client
  3. Client 接收并使用这个公钥 加密登录密码,并将加密后的密码发送给 Server
  4. Server 用自己的私钥 解密发送过来的用自己的公钥加密过的密码
  5. 如果解密后的 密码正确,则同意 Client 登录

登录过程出现的中间人攻击

中间人攻击的原因

口令/密码登录-详解 SSH 登录流程

  1. Client 发出登录请求
  2. Server 返还一个公钥, 提示 Client 是否接收
$ ssh user@host

The authenticity of host 'host (12.18.429.21)' can't be established. //host 地址

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)?
//提示Client 当前无法确认 host 的真实性,问其是否继续连接
  1. Client权衡后决定接收,回车
 Warning: Permanently added 'host,12.18.429.21' (RSA) to the list of known hosts.
 //将 host 的 公钥 存放到 known_hosts 文件中
  1. Cleint 提示:输入密码
Password: (enter password)
  1. 成功登录
  2. 下次登录该主机,因为 known_hosts 目录下 已经存在该主机的 公钥,直接跳到 输入密码阶段

公钥登录

# RSAAuthentication yes
# PubkeyAuthentication yes
# AuthorizedKeysFile .ssh/authorized_keys
参考:http://www.ruanyifeng.com/blog/2011/12/ssh_remote_login.html
上一篇 下一篇

猜你喜欢

热点阅读