Xshell配置SSH密钥登陆

601 阅读1分钟

Xshell配置SSH密钥登陆

前段时间登录服务器的时候发现被扫了,一个晚上尝试登录三百多次。看来配置密钥登录并禁止密码登录还是很有必要的。 服务器非法访问.png

顺便说一句,密钥登录的大致原理就是将非对称密钥的公钥丢到服务器上,登录的时候服务器拿公钥加密一个随机数扔给客户端,客户端解密后发送给服务器,服务器比对后认为认证成功。

这里就使用Xshell来生成密钥并远程连接。

  • Xshell生成非对称密钥

    1. 使用Xshell密钥生成向导

      Xshell生成密钥向导.png

    2. 选择密钥算法和密钥长度

      这里使用默认的2048位RSA

      选择密钥和算法.png

    3. 设置私钥加密密码

      考虑到以后会把私钥带到别的电脑上远程登录,这里私钥暂不加密。

      设置密钥使用密码.png

    4. 导出公钥

      导出公钥.png

  • 公钥上传至服务器并禁止密码登录

    1. 公钥上传

      # 上传至/root/.ssh,这里使用Xftp上传,rz -e总会出点问题。顺便说一句,公钥写至authorized_key中就行,也可以不上传直接copy过去
      cd /root/.ssh
      

      公钥上传至服务器.png

    2. 公钥写至authorized_key

      cat 公钥文件名 >> authorized_keys
      

      公钥写至authorized_key文件.png

    3. 禁止密码登录

      # 将PasswordAuthentication参数值修改为no
      vim /etc/ssh/sshd_config
      # 重启ssh服务
      systemctl restart sshd.service
      

      禁止密码登录.png

  • 密钥登录

    密钥登录.png

  • 登录成功

    登录成功.png