1、配置SSH身份认证
登录验证对象:服务器中的本地用户账号
登录验证方式:
- 密码验证:核对用户名、密码是否匹配
- 密钥对验证:核对客户端的私钥、服务器端公钥是否匹配
本次演示的是使用密钥进行SSH登录
实验环境:centos7.7
client IP :172.17.88.75(hostname:client)
server IP:172.17.88.80(hostname:tomcat-server)
2、生成密钥对
在客户端生成RSA密钥对
1 ssh-keygen -t rsa
选择密钥对存放的路径以及证书名称,默认是/root/.ssh/,回车即可
输入密钥密码,为空代表没有密钥密码,即使用证书登录服务器是无需再输入密钥密码,反之同理。回车
生成密钥对
在/root/.ssh/下生成了私钥id_rsa和公钥id_rsa.pub
3、将公钥拷贝到服务器上
1 ssh-copy-id root@172.17.88.80
此时服务器的密钥库文件中存放了来自客户端的公钥。
在客户端上使用ssh登录服务器,由于生成密钥对时没有输入密钥密码,因此,直接登录上服务器
3、禁用SSH密码认证
由于ssh服务容易遭到暴力破解,因此将关闭ssh密码认证,将/etc/ssh/sshd_config中的PaaswordAuthentication yes 修改成 PaaswordAuthentication no。
保存退出,重启ssh服务
拥有私钥的客户端能够正常登录服务器,没有私钥的客户端被拒绝ssh远程登录服务器.
在正式的生产环境中,我们建议使用RSA密钥对+密钥密码进行远程登录认证,禁用密码认证 ,确保不会遭到暴力破解。