Centos7中使用密钥认证方式登入服务器
主要步骤说明:
- 登录服务器创建需要登录的账号
- 为新账号生成ssh key
- 用公钥创建
authorized_keys
- 客户端利用公钥对应的id_ras登录服务器即可
一:登录服务器创建需要登录的账号
useradd aries
passwd aries
....
二:为新账号生成ssh key
su - aries
ssh-keygen -t rsa
直接按三次回车,会在~/.ssh
目录下生成两个文件
-rw-------. 1 root root 1675 Mar 2 11:02 id_rsa(私钥)
-rw-r--r--. 1 root root 392 Mar 2 11:02 id_rsa.pub (公钥)
注意我这里没有设置密码:
关于是否设置密钥的密码信息:一般也是建议你设置,如果不设置的话,后续别人拿到你的密钥,不输入密码的方式下就可以直接的使用密钥登入了!当然,也可以留空,实现无密码登录。
如果设置可密码的话,密钥锁码在使用私钥时必须输入,这样就可以保护私钥不被盗用。
三:用公钥创建authorized_keys
cd ~/.ssh
cp id_ras.pub ./authorized_keys
再次查看生成的文件信息
-rw-r--r--. 1 root root 392 Mar 2 11:37 authorized_keys
-rw-------. 1 root root 1675 Mar 2 11:02 id_rsa
-rw-r--r--. 1 root root 392 Mar 2 11:02 id_rsa.pub
打开密钥登录功能:
编辑修改 vim /etc/ssh/sshd_config
文件,进行如下设置:
RSAAuthentication yes # 开启密钥登入的认证方式
PubkeyAuthentication yes # 开启密钥登入的认证方式
PermitRootLogin yes #此处请留意 root 用户能否通过 SSH 登录,默认为yes:
PasswordAuthentication yes #当我们完成全部设置并以密钥方式登录成功后,可以禁用密码登录。这里我们先不禁用,先允许密码登陆
保存,重启ssh服务 service sshd restart
我这里还关闭了SELinux
vim /etc/selinux/config
#SELINUX=enforcing#注释掉
#SELINUXTYPE=targeted#注释掉
SELINUX=disabled#增加
保存,执行 setenforce 0
四:客户端利用公钥对应的id_ras登录服务器即可
首先我们把id_rsa,也就是私钥下载到我们本地的电脑上
sz ~/.ssh/id_rsa
下载完成后,一定要保存好,切记,切记,切记
然后在ssh客户端中配置一下就可以登录账号 aries
了