阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

采用密钥方式登录Linux服务器

437次阅读
没有评论

共计 2977 个字符,预计需要花费 8 分钟才能阅读完成。

最近刚刚开了一个 VPS,查看内存占用的时候,发现有很多 sshd 进程占用了大量内存和 CPU 资源,一搜才意识到问题的严重性。互联网上有大量骇客进行扫描行为,采用密码登录方式的话,简单密码会在不久后被扫描工具字典破解;如果被针对性攻击的话,位数短的密码也很快就会被密码爆破的方式暴力破解,不说服务器沦为肉鸡,密码也会被加入到字典中广为流传,如果其他服务器也采用相同密码,那就很容易在扫肉鸡的过程中全部沦陷。

可以通过加长密码长度、改变 ssh 端口的方式,来提升被破解的难度;不同服务器使用不同密码,来避免一旦失陷,自己的常用密码会成为字典中的一员。但是密码长度过长、个数过多,会增加记忆难度,建议就是采用密钥方式来登录服务器。

一、密钥登录机制

这里使用的是 RSA 加密算法,RSA 是基于密钥对的对称加密算法,公钥加密的内容只能用私钥解开,反之亦然。密钥方式登录,就是服务端保存公钥,客户端保存私钥,在登录的时候,服务器用公钥加密一段随机内容发给客户端,客户端用私钥解出后,再发给服务器,服务器验证解出的内容是否正确,正确即密钥验证通过。

密钥登录方式,可以和密码登录方式同时使用,先验证了密钥,再验证账号密码,不冲突。

密钥登录方式,多个密钥可以关联同一个账号,这样多个人需要使用同一个账号的时候,可以给他们分发不同的密钥,如果要停止某人的使用权限,只需要在服务器上删除对应的公钥就可以了。

二、密钥生成

密钥对可以在任意设备上生成,不过最方便的还是在被登录的服务器上生成,这样会生成密钥的时候就可以省略账号和服务器信息了。输入以下命令生成一个 RSA 密钥对

ssh-keygen -t rsa -b 3072

- t 参数指定加密算法为 rsa,- b 参数指定密钥长度,可以是 1024、2048、3072 等等,位数越长,被暴力破解所需的时间越久。会提示输入密钥文件名、口令

Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
79:77:a2:0d:39:d9:e2:00:e7:f8:62:1e:c6:e1:ed:92 root@localhost.localdomain
The key's randomart image is:
+--[RSA 3072]----+
|                 |
|                 |
|      . .        |
|       = . +     |
|      o S B + .  |
|     o + + B o   |
|      B.o o .    |
|     +E+         |
|      ...        |
+-----------------+

root 用户生成的密钥文件名默认为“/root/.ssh/id_rsa”,不需要改变的话直接回车即可

口令是用于加密私钥文件内容的,口令不正确将不能解出私钥内容,这样即使私钥文件丢失了,只要不知道口令,光有私钥文件也无法使用,建议设置。

以上命令执行后,会生成私钥文件“/root/.ssh/id_rsa”和公钥文件“/root/.ssh/id_rsa.pub”,打开公钥文件,会看见

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCz9JrfvDiQLvrNbmIMsvJqSNAmKuNW0tbW99l7Kh1s26pm7BAlm3F6HnxVGD/huxogQbuyReD/TsQduhA1P3xvQ7j2YGk4PrYBu4OMIPeJWgLH3pJvPuT+YHxIRBCF07gCfHRfjTVIJAjreh78veGlOkHubVt3+BZrwkOfZJ3d08o/1T6bqgtQfZK1vbdaE8Xege5qtxzYz5XzqCogd8lzR2ZG+7Y4IZNavPDwLMJY6k3XZwVwrhP+vTpaxOPF13SR1v+sdBMxI3wRShdz9hdMUQ3Ih5SxmolgKKkYAdkfu+1zEkhkv0VEqjsdMvc0AoFWRvlIYMjMMlOtkhic2XZM/mjB30HZrOE6YAEz+/y9bHwx3nBAEkq2g/CY/TZXhG8JcGo/68S+KL2yz95ffMMpW6mtB7mtgtvxiMN8sWh+E/e6Lyre2kAu1l7DVi0McSQ91LIHo9OAqa+whhGlTlHTivzP3pCKgMNBgpia0JvMf9TLaIOUvEV7NUpqh0Hsr50= root@localhost.localdomain

最后的“root@localhost.localdomain”是该密钥所关联的用户,服务器名为“localhost.localdomain”,用户是“root”,ssh-keygen 不指定参数的情况下生成的公钥文件默认和当前用户及本机关联。

二、服务器配置

1、导入公钥

默认的公钥配置文件为用户目录下的“.ssh/authorized_keys”,每一行为一条公钥配置信息。

首先要确认”.ssh”目录存在,权限为 700,如果第一步是在本机上进行的,那么就没问题。

然后将公钥文件的内容追加到“authorized_keys”中就可以了,如果 authorized_keys 之前不存在,则需要将权限设为 600

cd ~/.ssh
cat id_rsa.pub >> authorized_keys
chmod 600 authorized_keys

2、配置 sshd

CentOS 7 系统,修改 sshd 服务的配置文件

vi /etc/ssh/sshd_config

确认以下配置项的值,”#“后为注释

# 是否允许 RSA 密钥对方式登录系统,仅针对 version 2。
RSAAuthentication yes
PubkeyAuthentication yes

# 密钥配置文件名称,为用户目录下的.ssh/authorized_keys
AuthorizedKeysFile      .ssh/authorized_keys

# 禁用密码登录,可以先确认客户端可以密钥登录后再改 
PasswordAuthentication no

重新启动 sshd 服务后生效

service sshd restart

三、客户端配置

1、Bitvise SSH Client

Bitvise SSH Client 是一款 Windows 平台下的 SSH 工具,在 login 选项卡中,进入“Client key manager”,Import 私钥文件,然后登录方式“Initial method”选择 publickey,选择刚才导入的 Clientkey,如果有私钥口令在 Passphrase 中填入,就能以密钥方式登录

2、Linux Shell

在使用 ssh 命令的时候,用“-i”参数指定私钥文件即可,私钥文件权限应改为 600,假设私钥文件为“myservkey”

ssh xxx.xxx.xxx.xxx -i myservkey

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2017-12/149719.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计2977字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19352
评论数
4
阅读量
8072546
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
免费领取huggingface的2核16G云服务器,超简单教程

免费领取huggingface的2核16G云服务器,超简单教程

免费领取 huggingface 的 2 核 16G 云服务器,超简单教程 前言 HuggingFace.co...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
安装Black群晖DSM7.2系统安装教程(在Vmware虚拟机中、实体机均可)!

安装Black群晖DSM7.2系统安装教程(在Vmware虚拟机中、实体机均可)!

安装 Black 群晖 DSM7.2 系统安装教程(在 Vmware 虚拟机中、实体机均可)! 前言 大家好,...
星哥带你玩飞牛NAS硬件02:某鱼6张左右就可拿下5盘位的飞牛圣体NAS

星哥带你玩飞牛NAS硬件02:某鱼6张左右就可拿下5盘位的飞牛圣体NAS

星哥带你玩飞牛 NAS 硬件 02:某鱼 6 张左右就可拿下 5 盘位的飞牛圣体 NAS 前言 大家好,我是星...
仅2MB大小!开源硬件监控工具:Win11 无缝适配,CPU、GPU、网速全维度掌控

仅2MB大小!开源硬件监控工具:Win11 无缝适配,CPU、GPU、网速全维度掌控

还在忍受动辄数百兆的“全家桶”监控软件?后台偷占资源、界面杂乱冗余,想查个 CPU 温度都要层层点选? 今天给...
12.2K Star 爆火!开源免费的 FileConverter:右键一键搞定音视频 / 图片 / 文档转换,告别多工具切换

12.2K Star 爆火!开源免费的 FileConverter:右键一键搞定音视频 / 图片 / 文档转换,告别多工具切换

12.2K Star 爆火!开源免费的 FileConverter:右键一键搞定音视频 / 图片 / 文档转换...
星哥带你玩飞牛NAS-16:不再错过公众号更新,飞牛NAS搭建RSS

星哥带你玩飞牛NAS-16:不再错过公众号更新,飞牛NAS搭建RSS

  星哥带你玩飞牛 NAS-16:不再错过公众号更新,飞牛 NAS 搭建 RSS 对于经常关注多个微...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
星哥带你玩飞牛NAS-14:解锁公网自由!Lucky功能工具安装使用保姆级教程

星哥带你玩飞牛NAS-14:解锁公网自由!Lucky功能工具安装使用保姆级教程

星哥带你玩飞牛 NAS-14:解锁公网自由!Lucky 功能工具安装使用保姆级教程 作为 NAS 玩家,咱们最...
4盘位、4K输出、J3455、遥控,NAS硬件入门性价比之王

4盘位、4K输出、J3455、遥控,NAS硬件入门性价比之王

  4 盘位、4K 输出、J3455、遥控,NAS 硬件入门性价比之王 开篇 在 NAS 市场中,威...
每年0.99刀,拿下你的第一个顶级域名,详细注册使用

每年0.99刀,拿下你的第一个顶级域名,详细注册使用

每年 0.99 刀,拿下你的第一个顶级域名,详细注册使用 前言 作为长期折腾云服务、域名建站的老玩家,星哥一直...
星哥带你玩飞牛 NAS-10:备份微信聊天记录、数据到你的NAS中!

星哥带你玩飞牛 NAS-10:备份微信聊天记录、数据到你的NAS中!

星哥带你玩飞牛 NAS-10:备份微信聊天记录、数据到你的 NAS 中! 大家对「数据安全感」的需求越来越高 ...
星哥带你玩飞牛NAS-16:飞牛云NAS换桌面,fndesk图标管理神器上线!

星哥带你玩飞牛NAS-16:飞牛云NAS换桌面,fndesk图标管理神器上线!

  星哥带你玩飞牛 NAS-16:飞牛云 NAS 换桌面,fndesk 图标管理神器上线! 引言 哈...