1、在本地生成一对密钥(即公钥和私钥)
本地 windows系统
ssh-keygen -t rsa
默认在当前用户目录下生成 [.ssh]文件夹
内面有俩个文件
id_rsa (私钥 放在本地登录服务器的时候需要)
id_rsa.pub (公钥 需要上传到服务器)
2、拷贝本地生成的公钥文件上传到服务器对应的用户目录下
scp 本地上面生成公钥的文件地址(.ssh/id_rsa.pub) 服务器上用户名@服务器公网IP:服务器上对应的目录(userName@0.0.0.0):~/
回车后输入服务器用户名对应的密码即可
3、使用putty登录到服务器,在刚才上传的用户目录下找到对应的id_rsa.pub
进入上面上传公钥的用户目录下
查看当前用户目录下有没有 .ssh 文件夹 ls -a
如果没有创建 .ssh 文件夹 mkdir .ssh
修改.ssh权限 chmod 700 .ssh
打开 .ssh文件夹
如果.ssh文件夹 内面没有 authorized_keys 需要创建
返回到用户目录下
将上传的id_rsa.pub公钥文件内容复制到 .ssh文件夹下的authorized_keys文件内 cat id_rsa.pub >> .ssh/authorized_keys
删除上传的公钥文件 rm ~/id_rsa.pub
修改 .ssh文件夹内的权限 chmod 600 .ssh/*
4、 查看ssh配置是否开启证书登录
cat /etc/ssh/sshd_config
RSAAuthentication yes // 是否允许用户自行使用成对的密钥系统进行登入行为 version 2
PubkeyAuthentication yes // 是否允许用户自行使用成对的密钥系统进行登入行为
AuthorizedKeysFile //公钥数据路径 用户目录下 .ssh/authorized_keys
修改完成后 service sshd restart CentOs重启ssh服务
5、本地登录服务器
ssh -i 本地密钥地址[.ssh/id_rsa] 服务器上用户名@服务器公网IP (userName@0.0.0.0)