Centos7中使用密钥认证方式登入服务器

aries 发表于 2021-08-31 720 次浏览 标签 : CentOS7

主要步骤说明:

  1. 登录服务器创建需要登录的账号
  2. 为新账号生成ssh key
  3. 用公钥创建authorized_keys
  4. 客户端利用公钥对应的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

0条评论

如需评论,请填写表单。
换一个

记住我的信息