打开终端,输入如下命令,一路回车,即可得到公钥和私钥:
ssh-keygen -t rsa
公钥和私钥就放在 ~/.ssh目录下。其中,id_rsa为私钥,id_rsa.pub为公钥,它们都是文本文件,可以用任何文本编辑器打开。如果在该文件夹下有名为“known_hosts”的文件,把该文件删掉。可以把它看做一个缓存文件,目标主机发生变化时,缓存可能导致验证不正确。
登录到 CentOS 服务器,进入~/.ssh文件夹(如果没有的话新建一个),然后把刚刚id_rsa.pub里的内容放到authorized_keys文件里(如果没有的话vi新建一个)
在服务器上更改权限,防止安全问题:
Shell代码: chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
完成。
PS:
CentOS默认新生成的文件权限为:-rw-rw-r--,即自己和群组用户都可以重写该文件,这被认为是不够安全的。需把群组中的w权限去掉。可使用命令:chmod 644 authorized_keys。网上的资料中,都是直接chmod 600 authorized_keys,即群组和其他用户连读取文件内容的权限都没有,当然这样是最安全的,但是系统只要求到除了自己之外其他所有用户均不能改动文件就可以了。