linux利用公钥免密登录

问题

A机器要免密登录B机器?

解决方案

A,B机器中生成秘钥
先查看/root/.ssh/目录下有无密钥文件,若无使用 ssh-keygen 命令生成

ssh-keygen    
或者ssh-keygen -t rsa (加上-t rsa参数,意思是生成rsa类型的公钥秘钥对)
输入命令后生成的两个文件: id_rsa和id_rsa.pub,分别是私钥和公钥
  • 把A公钥拷贝至B机器的/root/.ssh/authorized_keys中

以下方案二选一

  • 手动拷贝公钥
  • 机器A中输入shell命令: ssh-copy-id <机器B的ip>
  • 最后机器A,B授权
sudo chmod 644 ~/.ssh/authorized_keys
sudo chmod 700 ~/.ssh

原理

RAS是非对称加密算法,公钥加密信息私钥解密.
公钥可以公开,但是私钥要保密.
流程图如下:


image.png