ssh协议

2019-04-22  本文已影响0人  xyz098

SSH ( Secure Shell )

SSH协议是基于应用层的协议,为远程登录会话和其他网络服务提供安全性的协议。SSH使用最多的是远程登录和传输文件,实现此功能的传统协议都不安全(ftp,telnet等),因为它们使用明文传输数据。而SSH在传输过程中的数据是加密的,安全性更高。

工作原理

5分钟理解SSH的工作原理

具体过程:

  1. client:发起一个连接
  2. server:收到连接后,将关键信息(服务器公钥、支持的加密算法等)发给client
  3. client:在known_hosts验证server的公钥。没找到则continue connecting (yes/no)?,决定采用支持哪种算法。
  4. 生成会话密钥。此时,客户端已经拥有了服务端的公钥。接下来,客户端和服务端需要协商出一个双方都认可的密钥,并以此来对双方后续的通信内容进行加密。 密钥协商是通过Diffie - Hellman算法
  5. client:发送公钥id给server
  6. server:根据authorized_keys验证公钥,加密随机数给client
  7. client: 解密消息后获得随机数,之后随机数和当前会话密钥共同生成MD5值(校验数据完整性)
  8. server:解密MD5值,通过会话密钥结算MD5值,验证相等通过,连接建立
操作

A要登陆到B服务器

  1. B服务器生成密钥,目录~/.ssh/

    ssh-keygen -t rsa
    ls ~/.ssh/
    id_rsa.pub id_rsa
    
  2. A服务器获取B的公钥到~/.ssh/authorized_keys

    scp B@user:~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
    chmod 600 ~/.ssh/authorized_keys
    
  3. A服务器验证登陆

    ssh B-ip
    首次登陆要确认
    
上一篇下一篇

猜你喜欢

热点阅读