1.生成公钥私钥
Linux系统默认已经集成了ssh工具,因此我们只需要使用一个简单的命令即可完成公钥私钥的生成。
$ cd ~
$ ssh-keygen -t rsa
$ cd .ssh
$ ls
这样就可以了,你可以看到.ssh目录下已经有了id_rsa、id_rsa.pub两个密钥文件。
2.将公钥上传到远程服务器
我们要登陆远程服务器,那么把我们的公钥交给远程服务器,一旦交付之后,今后我们远程登陆时,服务器就可以通过这个公钥识别本机,从而无需密码即可完成登陆。在本机上执行如下操作:
执行之后,会让你输入一次远程服务器root登陆的密码,输入即可。
ssh-copy-id -i ~/.ssh/id_rsa.pub root@127.0.0.1
通过这一步,我们将公钥加入到服务器的认证列表中,被服务器“记录在案”。
但是我在一次执行该操作的时候,发现服务器上得到的结果中出现了乱码。为了保险起见,我的建议是,直接打开id_rsa.pub文件,复制里面的内容,然后登陆到服务器上面,进入~/.ssh/,打开authorized_keys,把内容拷贝到里面。