ssh协议

作者: xyz098 | 来源:发表于2019-04-22 19:11 被阅读0次

    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
      首次登陆要确认
      

    相关文章

      网友评论

          本文标题:ssh协议

          本文链接:https://www.haomeiwen.com/subject/triugqtx.html