专栏首页魏艾斯博客www.vpsss.netXshell 用 SSH 密钥登录服务器的配置过程

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 条评论
登录 后参与评论

相关文章

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

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

    魏艾斯博客www.vpsss.net
  • 腾讯云服务器创建 SSH 密钥及如何使用 提高 SSH 连接安全性

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

    魏艾斯博客www.vpsss.net
  • 腾讯云云解析修改域名DNS服务器

    当你在腾讯云购买域名后,如果 DNS 服务器不正确,要把域名 DNS 修改为提示的 DNS 地址,解析后才生效。

    魏艾斯博客www.vpsss.net
  • Dan Boneh密码学笔记9

    TTP发送给Alice用Alice密钥加密的信息,包括”这个共享密钥是AB之间的“和Kab。

    安包
  • android 签名

    (1)Android Studio菜单Build->Generate Signed APK  ? (2)弹出窗口  ? (3)创建密钥库及密钥,创...

    xiangzhihong
  • 腾讯生物认证开放平台——TENCENT SOTER

    什么是SOTER 现如今,生物识别作为一个新兴的认证方式,从好莱坞大片的银幕中正款款走出,进入人们的日常生活。其中,指纹识别是生物识别茫茫类目中的佼佼者,尤其是...

    微信终端开发团队
  • 腾讯云服务器创建 SSH 密钥及如何使用 提高 SSH 连接安全性

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

    魏艾斯博客www.vpsss.net
  • 密钥详解

    在之前的文章中,我们讲到了对称密码,公钥密码,消息认证码和数字签名等密码学的技术,这些技术中都使用到了一个叫做密钥的东西。

    程序那些事
  • 金融行业常见的几种密钥体系

    金融行业对于数据安全的要求比较高,因此金融行业常用密钥体系是有比较强的安全性和参考性,可以作为云厂商或者其他业务的参考,简单整理了下金融行业集中常见的密钥体系。

    顽石915
  • GitHub账户被黑:旧漏洞导致弱密钥大量留存

    又见历史原因导致的安全隐患 在七年前开发人员发现GitHub存在一个灾难性的漏洞之后,GitHub已经关闭了数量不明的通过密钥访问的账户。 Github允许授...

    FB客服

扫码关注云+社区

领取腾讯云代金券