SSH原理与两种登录方式

SSH(Secure Shell)是一种用于远程登录的加密的网络协议。它有多种实现方式,OpenSSH是比较常见的。这里的加密指的是计算机之间的通信是通过RSA对称加密体系加密。

角色:客户机(client)、远程主机(server)

基本用法1——密码登录方式

  1. client ---> server :登录请求
  2. server ---> client :server的公钥
  3. client用server的公钥加密的登录密码
    client ---> server :加密后的登录密码
  4. server用自己的私钥解密消息,获取client的登录密码,进行身份验证。

每次登录都需要输入密码(除非默认为空)。

// 发送登录请求(不同的参数)
ssh host   
ssh user@host
ssh -p 2222 user@host
// 输入密码

基本用法2——公钥登录方式

  1. client ---> server :client的公钥
  2. server生成一串随机数,用client的公钥加密随机数
    server ---> client :加密后的随机数
  3. client用自己的私钥解密消息,获得server发送的随机数
    client ---> server :解密得到的随机数
  4. server检查收到的随机数是否正确

公钥拷贝操作只进行一次,不需要每次登录时输入密码。

ssh-keygen    // client生成公钥和私钥
ssh-copy-id user@host   // client将自己的公钥拷贝到server

你可能感兴趣的:(SSH原理与两种登录方式)