Xshell 用 SSH 密钥登录服务器的配置过程

我们使用 Linux 服务器不管做网站、项目、服务都需要一个安全性的概念,而默认是使用密码来登录的,普通的项目也就够用了。不过现在网络上鱼龙混杂,各路黑客无时无刻不在撸服务器,用各种软件扫描网络上的弱口令、端口等,为了提高 Linux 服务器的安全我们有必要在 SSH 登录界面设置密钥,提高破解难度,也就相对提高了服务器安全性。

一般我们用 SSH 软件登录服务器的时候都是用 root 账号和密码进行连接,其实这样是不安全的,使用 SSH key 和密码同时登录,这样才不会被轻易破解,也就提高了服务器 SSH 登录安全性。本文我们介绍 SSH key 密钥登录 Linux 服务器的配置过程,平时多使用 Xshell SSH 登录,相对来说它的操作界面更友好一些。

一、生成密钥

1、点击 Xshell 的工具-新建用户密钥生成向导,开始生成密钥。

2、弹出页面的密钥类型和密钥长度默认不要修改,点击下一步,看到程序生成 2048 位 RSA 密钥,点击下一步,输入密钥名称和登录密码。密钥名称随便起一个,密码是用来和密钥一起双重加密的,哪怕密钥被盗了,没有密码还是无法 SSH 登陆到服务器上。

3、点击下一步,把密钥另存为文件保存到本地电脑。这个是公钥。

另外在 Xshell 的工具>>用户密钥管理者里面能够看到对应的私钥,私钥最好另存到本地电脑和邮箱中,这点很重要。

二、上传公钥到 VPS 服务器

1、建立文件夹和文件。创建一个.ssh 目录,这个目录具有隐藏属性。命令如下:

cd

mkdir .ssh

用 sftp 软件连接到 VPS 服务器上,把上面保存的公钥上传到.ssh 目录中,重命名为 authorized_keys。

2、设置权限。命令如下:

chmod 700 .ssh

chmod 600 .ssh/authorized_keys

3、编辑 sshd_config 配置文件。命令如下:

vi /etc/ssh/sshd_config

去掉#RSAAuthentication yes    #PubkeyAuthentication yes    #AuthorizedKeysFile .ssh/authorized_keys 前面的#,含义分别是开启 RSA 密钥验证,公钥验证功能,设置公钥验证文件的路径。

把 PasswordAuthentication yes 替换为 PasswordAuthentication no,禁止使用密码登录。

改完后如下图所示就对了。

4、重启 sshd 服务。命令如下:

service sshd restart

5、用密钥连接 VPS 服务器

打开 Xshell 进入连接>>用户身份验证,选择 Public Key,用户密钥选择已经建立好的私钥,输入上面你自己设置的私钥密码。点击连接就可以实现密钥登陆 VPS 服务器了。

为了验证密钥是否生效,接下来我把登陆方法改成 Password 再试,就无法登陆并跳转到密钥登陆界面,说明这时候原来的密码登陆已经失效了,再输入密钥的密码登陆成功。

老魏在配置密钥过程中遇到了“所选的用户密钥未在远程主机上注册”的情况导致密钥登陆失败,是因为一开始用命令创建 authorized_keys 并保存密钥,网络上很多文章都是用这个方法,但在我这里就不好使。后来改用本地 SFTP 上传密钥的方式解决了这个问题。别人的东西不一定适合你的具体情况,老魏写的教程是亲自测试一下才知道是怎么回事,才能发表出来给大家参考。

最后总结:

1、为了提高网站、项目、服务器的安全性可以考虑使用密钥登陆方法,也可以不设置密钥密码,这时候只用密钥就可以登录服务器了(用密码是双重加密,即使别人搞到了密钥也无法登陆)。

2、私钥一定要另存到本地电脑和邮箱中,因为换一台电脑没有私钥(或者私钥丢失)就无法 SSH 登陆服务器了。

3、SSH 密钥登陆服务器的方法确实能够提高 SSH 连接的安全性,建议大家考虑一下这个方法。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏运维小白

Linux基础(day52)

12.17 Nginx负载均衡 Nginx负载均衡目录概要 vim /usr/local/nginx/conf/vhost/load.conf // 写入如下内...

2557
来自专栏康怀帅的专栏

nginx 配置 TLSv1.3

将 即将 发布的 TLSv1.3 作为 https 系列的开篇。

5996
来自专栏linux运维学习

linux学习第四十七篇:Nginx负载均衡,ssl原理,生产ssl密钥对,Nginx配置ssl

Nginx负载均衡 负载均衡,将用户的所有HTTP请求均衡的分配到每一台机器上,充分发挥所有机器的性能,提高服务的质量和用户体验。 ? vim /usr/l...

3108
来自专栏FreeBuf

Apache shiro 1.2.4版本远程命令执行漏洞详解

*本文原创作者:zhujunboabc,本文属FreeBuf原创奖励计划,未经许可禁止转载 搜了一下,发现网上关于apache shiro 1.2.4版本的漏洞...

3625
来自专栏酷玩时刻

开启全站HTTPS时代-Nginx SSL+tomcat集群

可以看看简书上的这篇文章写得比较详细《Let's Encrypt SSL证书配置》

1823
来自专栏小白安全

小白博客 kali Linux系统下Joomscan工具的使用方法

Joomscan 由于其灵活性,Joomla可能是使用最广泛的CMS。对于这个CMS,它是一个Joomla扫描仪。 它将帮助网络开发人员和网站管理员帮助确...

3966
来自专栏友弟技术工作室

ssh服务

1695
来自专栏云计算教程系列

如何设置让我们在Ubuntu 14.04上加密多个Apache虚拟主机的证书

Web服务器中使用SSL证书来加密服务器和客户端之间的流量,为访问应用程序的用户提供额外的安全性。让我们的加密提供了一种免费获取和安装可信证书的简便方法。

1080
来自专栏优信速度

本次更新包括集成CDSW1.3

目前互联网大量web的应用层协议从http迁移到了https,https已经在越来越多的场合替换http协议。近期由于业务需要,我们通过Wireshark对ht...

1770
来自专栏魏艾斯博客www.vpsss.net

腾讯云服务器创建 SSH 密钥及如何使用 提高 SSH 连接安全性

腾讯云服务器内置创建 SSH 密钥功能,创建并使用之后就是有密钥才能使用 SSH 连接服务器,相对于几位数的登陆密码来说,2048 位密钥显然更安全。

3423

扫码关注云+社区

领取腾讯云代金券