ssh原理浅析

口令登录

1 client请求登录server

2 server发送自己的public key给client

3 client将加密的密码发送给server

4 server用私钥解密然后验证

怎么确认server的真实性? -> known_hosts

免密登录

1 client将自己的public key追加到server的authorized_keys中

2 client拿自己的私钥登录server

2 server收到请求后,随机生成一个字符串发给client

3 client用自己的私钥加密后发给server

4 server用存储的公钥解密然后比较验证

参考 https://www.jianshu.com/p/33461b619d53

  1. 在控制主机上执行(和在哪里执行无关,一般在client执行) ssh-keygen -t rsa 创建密钥
  2. 执行 ssh-copy-id -i ~/.ssh/id_rsa.pub user@host (输入密码)把公钥拷贝到远程机器

你可能感兴趣的:(ssh原理浅析)