创建密钥文件
一般是哪个用户需要使用这个密钥就使用哪个用户执行这个操作,如果是root用户使用,使用root用户登录系统执行ssh-keygen 开始创建。
Enter file in which to save the key (/root/.ssh/id_rsa): 这里输入要保存密钥的文件,一般默认即可,直接回车下一步
Enter passphrase (empty for no passphrase): 输入密钥密码,这里设置密码的好处是您使用密钥时需要输入这个密码进行验证,验证不正确的话无法使用,避免私钥被盗用。如果想免密登录,这里直接回车即可。
Your identification has been saved in /root/.ssh/id_rsa. 私钥文件创建成功
Your public key has been saved in /root/.ssh/id_rsa.pub. 公钥文件创建成功
导入公钥信息并修改ssh配置
密钥文件创建完成后进入/root/.ssh目录,执行cat id_rsa.pub >> authorized_keys 将创建的公钥信息导入authorized_keys文件
执行chmod 600 /root/.ssh/authorized_keys 和 chmod 700 /root/.ssh修改为正确的权限
修改/etc/ssh/sshd_config 取消PubkeyAuthentication yes和 RSAAuthentication yes 行前面的# (CentOS 7.4 以上不需要再配置RSAAuthentication这个选项)
#PubkeyAuthentication yes
#RSAAuthentication yes
修改为
PubkeyAuthentication yes
RSAAuthentication yes
并且如果想取消ssh的密码登录的话(只保留密钥登录),可以设置PasswordAuthentication yes 为PasswordAuthentication no
并且修改完 sshd_config 需要重启ssh服务使其生效。systemctl restart sshd
测试使用私钥文件登录
将私钥文件id_rsa下载到客户端电脑,也可以将id_rsa中的信息复制到客户端文件中(推荐前者),之后在ssh客户端工具配置连接时选择这个私钥文件进行登录。
下面以linux系统为例,执行ssh ip -i 私钥文件名称 进行登录,测试登录成功