Linux 配置免密登录和仅允许密钥登录

Linux 配置免密登录和仅允许密钥登录

安全性基本配置

创建普通用户

!!!创建普通用户是为了使权限分离

useradd anquanba

passwd anquanba

Linux 配置免密登录和仅允许密钥登录

!!!创建成功后使用远程连接工具连接到服务器中,便于下面配置顺畅。

禁止root用户直接登录

!!!禁止root用户直接登录可增加黑客猜解用户名成本

修改ssh配置文件

vi /etc/ssh/sshd_config

配置如下参数

PermitRootLogin no

Linux 配置免密登录和仅允许密钥登录

开启密钥认证

!!!配置开启密钥认证使登陆者可使用被服务器认证过的公钥登录

vi /etc/ssh/sshd_config

把RSAAuthentication和PubkeyAuthentication两行前面的#注释去掉

代表开启RSA认证和Public Key 认证

Linux 配置免密登录和仅允许密钥登录

仅允许密钥登录

!!!黑客攻击SSH服务通常会爆破用户名与密码,仅允许使用密钥登录服务器可让黑客永远无法用过爆破手段破解服务器登录凭证。

vi /etc/ssh/sshd_config

修改 PasswordAuthentication yes/no

其中yes:使用密码登陆

no:不使用密码登陆,使用密钥登陆

Linux 配置免密登录和仅允许密钥登录

重启SSH服务以刷新配置

重启服务可刷新安全性基本配置的操作

以下命令 centos7及以下版本通用

service sshd restart

Linux 配置免密登录和仅允许密钥登录

服务器端密钥配置

SSH登录是用的RSA非对称加密的,所以我们在SSH登录的时候就可以使用RSA密钥登录,SSH有专门创建SSH密钥的工具ssh-keygen。

进入Linux系统的用户目录下的.ssh目录下,默认为家目录/.ssh,我们以刚才创建的anquanba用户为例。

首先登录到anquanba账户,然后执行ssh-keygen命令创建密钥对。

ssh-keygen -t rsa -b 4096

过程解释:

[anquanba@localhost ~]$ ssh-keygen -t rsa -b 4096

Generating public/private rsa key pair.

Enter file in which to save the key (/home/anquanba/.ssh/id_rsa):

#输入保存密钥的路径和文件名称

#回车默认保存到 /home/anquanba/.ssh/id_rsa

Created directory ‘/home/anquanba/.ssh’.

Enter passphrase (empty for no passphrase):

Enter same passphrase again:

#输入两次相同密钥密码,可设置密码也可直接回车

#直接回车代表不使用密码

Your identification has been saved in /home/anquanba/.ssh/id_rsa.

Your public key has been saved in /home/anquanba/.ssh/id_rsa.pub.

The key fingerprint is:

3e:7f:2b:28:f0:fc:24:5d:1f:68:67:12:9d:90:96:4d anquanba@localhost.localdomain

The key’s randomart image is:

+–[ RSA 4096]—-+

| .=E |

| +o.. |

| .. o |

| o |

| S = + |

| . o o = . |

| +. =. . |

| +o.o. . |

| o. .o.. |

+—————–+

[anquanba@localhost ~]$

Linux 配置免密登录和仅允许密钥登录

密钥生成后会在上述目录下多出两个文件,id_rsa和id_rsa.pub,其中id_rsa是私钥(这个很重要,不能外泄),id_rsa.pub是公钥。

ls -l /home/anquanba/.ssh/

Linux 配置免密登录和仅允许密钥登录

Xshell密钥配置和登录

创建连接端用户密钥

点击工具-用户密钥管理者 打开用户密钥管理工具

Linux 配置免密登录和仅允许密钥登录

在新打开的用户密钥窗口中点击生成按钮开始生成密钥

Linux 配置免密登录和仅允许密钥登录

选择密钥类型和密钥长度,例如RSA 4096位

Linux 配置免密登录和仅允许密钥登录

等待密钥生成结束点击下一步

Linux 配置免密登录和仅允许密钥登录

输入密钥名称和密码,如果不想设置密码可以不填

Linux 配置免密登录和仅允许密钥登录

如果未填写密码会弹出如下信息,点击是按钮继续

Linux 配置免密登录和仅允许密钥登录

密钥生成结束后点击保存为文件按钮将公钥部分保存出来

Linux 配置免密登录和仅允许密钥登录

点击完成中在用户密钥窗口中会多出一条记录

Linux 配置免密登录和仅允许密钥登录

将连接端公钥导入服务器

将保存出来的公钥内容保存到服务器中

echo “公钥内容” >> /home/anquanba/.ssh/authorized_keys

Linux 配置免密登录和仅允许密钥登录

!!!!重要

修改authorized_keys权限为600

chmod 600 /home/anquanba/.ssh/authorized_keys

Linux 配置免密登录和仅允许密钥登录

远程服务器登录测试

创建远程服务器的连接

Linux 配置免密登录和仅允许密钥登录

点击连接按钮开始登录

输入刚才加入公钥的所属用户anquanba 然后点击确定按钮

Linux 配置免密登录和仅允许密钥登录

!!!重要

在选择SSH用户身份验证类型时选择 Public Key(U)

此时,Public key列表中可以看到刚才加入进去的密钥选项,选择后应为如下图所示状态。

Linux 配置免密登录和仅允许密钥登录

点击确定按钮开始连接,最终登录成功,成功登录图如下:

Linux 配置免密登录和仅允许密钥登录

文章均为本站原创,转载请注明出处为安全吧!
已经是最新文章