免密登录
生成 ssh 私钥和公钥
ssh-keygen -t rsa
# 创建服务器公钥
touch ~/.ssh/authorized_keys
# 添加公钥到文件
cd .ssh
cat .ssh/id_rsa.pub > .ssh/authorized_keys
# ssh目录权限是700
# authorized_keys 目录的权限是600
ssh-copy-id username@remote_server
原理
- 客户端向服务器发送链接请求
- 服务器向客户端发出自己的公钥
- 客户端使用服务端的公钥加密通信秘钥后发送给服务端
- 如果通讯过程被截获,由于其听着即使知道公钥和经过公钥加密的内容,但不拥有私钥依然无法解密(RSA算法)
- 服务器接收到密文后,使用私钥解密,获知通讯秘钥
- ssh-keygen命令给服务器端产生的公私秘钥对,