为了让两台机器之间能够使用SSH免密登录,采用 ssh-keygen 生成密钥,配置到 authorized_keys 上的方法进行登录认证。 目标:A机器可以免密登录B机器 操作流程: 1. 在A机器上用 ssh-keygen 生成密钥文件 `id_rsa` 和 `id_rsa.pub` ![1568972120098](./imgs/1568972120098.png) 也可以直接执行 `ssh-keygen`,至于 `-t rsa` 是为了指定加密方式 ①:要你输入密钥文件的存储位置 ②和③:要你输入两次密钥口令。如果你不想在使用密钥时输入口令,将其留空即可 2. 在B机器上创建 `~/.ssh/authorized_keys` 文件,并设置权限 ```bash [git@Centos6 ~]$ mkdir .ssh [git@Centos6 ~]$ chmod 700 .ssh [git@Centos6 ~]$ touch .ssh/authorized_keys [git@Centos6 ~]$ chmod 600 .ssh/authorized_keys ``` 3. 将公钥文件`id_rsa.pub`上传到B机器,并将其内容追加到 `~/.ssh/authorized_keys`文件末尾 ```bash [git@Centos6 .ssh]$ cat id_rsa.pub >> authorized_keys ``` > 注意事项:要保证.ssh和authorized_keys都只有用户自己有写权限。否则验证无效。其实仔细想想,这样做是为了不会出现系统漏洞。