黑帽联盟

 找回密码
 会员注册
查看: 508|回复: 0
打印 上一主题 下一主题

[资源教程] 使用 Xshell 给 Linux VPS 配置 SSH 密钥实现免密登录

[复制链接]

895

主题

38

听众

3322

积分

管理员

Rank: 9Rank: 9Rank: 9

  • TA的每日心情

    昨天 13:01
  • 签到天数: 1643 天

    [LV.Master]伴坛终老

    前言
    SSH 提供两种认证方式,密码认证和密钥认证,一般我们买来的 VPS 都是密码认证。密码的缺点是很容易被暴力破解,而且密码需要记忆,使用起来麻烦。密钥的好处是,你只需要一对密钥文件:公钥和私钥,公钥相当于门锁,装在 VPS 上,私钥相当于钥匙,放在本地计算机上,登录的过程就像是用钥匙去开锁,有钥匙的人才能打得开,不仅安全,而且方便。此外,公钥可以复制到其它主机和账户,这就像是你装了很多同样门锁。

    获取密钥
    就像门锁,先得有,才能装。你可以使用 Xshell 生成密钥,也可以通过其他方式生成密钥,再导入到 Xshell 中进行管理。
    在 Xshell 中点开工具菜单,选择用户密钥管理者 ( Alt+T+U )。

    11.png

    在用户密钥窗口中点击生成按钮。

    12.png

    在新建用户密钥生成向导中会让你选择密钥类型,一般默认即可,点击下一步。

    13.png

    然后会要求你填写密钥名称和密码,免密登录密码留空即可,然后点完成。

    14.png

    之后会有下面这个提示,选择是即可。

    15.png

    当完成密钥生成的操作后密钥会出现在用户密钥的窗口中。


    配置密钥
    给 VPS 配置密钥简单来说就是把公钥内容写入到 ~/.ssh/authorized_keys 中的过程。
    首先使用 Xshell 登录到 VPS,这里需要注意需要配置密钥的用户,不要弄错。
    执行下面的命令创建 SSH 认证文件并打开文本编辑器。
    1. mkdir -p ~/.ssh && nano ~/.ssh/authorized_keys
    复制代码
    然后在 Xshell 中点开工具菜单,选择用户密钥管理者 ( Alt+T+U )。

    16.png

    在用户密钥窗口中双击密钥进入密钥属性。

    17.png

    在属性窗口中选择公钥标签,复制公钥。

    18.png

    把复制的公钥粘贴到终端的文本编辑器中,最后保存退出。

    19.png

    为了能正常登陆,需要给文件设置相应的权限。
    1. chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys
    复制代码
    使用密钥登录 VPS
    这里以新建会话为例子,已有会话可以通过右键属性进入到这个窗口。

    20.png

    进入用户身份验证设置选项,按照下面的图片操作即可。

    21.png


    禁用密码登录
    在确认使用密钥能正常登录后,为了提高 VPS 的安全性建议禁用密码登录。
    执行以下命令,对 sshd 配置文件 (/etc/ssh/sshd_config) 进行修改。
    1. sudo sed -i '/PasswordAuthentication /c\PasswordAuthentication no' /etc/ssh/sshd_config
    复制代码
    最后重启 sshd 服务,使配置生效。
    1. sudo service sshd restart
    复制代码
    帖子永久地址: 

    黑帽联盟 - 论坛版权1、本主题所有言论和图片纯属会员个人意见,与本论坛立场无关
    2、本站所有主题由该帖子作者发表,该帖子作者与黑帽联盟享有帖子相关版权
    3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和黑帽联盟的同意
    4、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
    5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
    6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
    7、黑帽联盟管理员和版主有权不事先通知发贴者而删除本文

    勿忘初心,方得始终!
    您需要登录后才可以回帖 登录 | 会员注册

    发布主题 !fastreply! 收藏帖子 返回列表 搜索
    回顶部