简单一句话来就是:将客户端生成的公钥放到服务端的想要登录的用户的认证文件authorized_keys里即可实现免密登录。
通俗点:将本机生成的公钥id_rsa.pub内容,复制追加到远程服务器那个需要免密的用户目录的~/.ssh/authorized_keys文件里面。
说明:
authorized_keys: 用于存放远程免密登录的公钥记录,主要通过这个文件记录多台机器的公钥,每一行记录就是一个免密远程登录的认证内容
具体步骤:
1、客户端生成公钥和私钥
ssh-keygen
运行结束以后, 默认在 ~/.ssh目录生成两个文件:
id_rsa :私钥
id_rsa.pub :公钥
2、服务端导入公钥到对应用户的认证文件,更改权限
可以通过ftp、scp等任意途径将客户端的公钥上传到服务端,然后将公钥内容导入到认证文件authorized_keys里
将公钥上传到服务端,假设用户为abc:
scp {-P port} ~/.ssh/id_rsa.pub abc@host:~
在服务器上将公钥内容导入认证文件:
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
服务端修改权限
chmod 755 ~
chmod 700 ~ /.ssh
chmod 600 ~ /.ssh/authorized_keys