Centos配置SSH并禁止密码登录

02-27 1144阅读

CentOS8 配置SSH使用密钥登录并禁止密码登录

一、概念

SSH 为 Secure Shell 的缩写,SSH 为建立在应用层基础上的安全协议。SSH 是较可靠,专为远程登录会话和其他网络服务提供安全性的协议。

SSH提供两个级别的认证:

  • 基于口令的认证
  • 基于密钥的认证

    基本使用:

    # p 端口号,user:用户名,host:主机地址
    ssh -p port user@host
    ssh -p 1022 wzs@192.168.1.1

    二、配置

    这边主要是使用基于密钥的认证方式。 步骤方法:

    • 首先在服务器生成密钥对
    • 服务器安装公钥
    • 配置ssh配置
    • 将服务器私钥下载到客户端进行导入
    • 登录完成
      1. 服务器端生成密钥对
      [root@centos84 .ssh]# ssh-keygen                          # 创建密钥对
      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:                                  # 下面是密钥指纹
      SHA256:HQMUGGtCReiEpejPSRc8XIeXEq4lB9G0hMI4dlsT+/Q root@centos84
      The key's randomart image is:
      +---[RSA 3072]----+
      |  oooBXO*o.      |
      | =.*=+B=o+       |
      |o +o=B+*o o      |
      |.  ..oX .. o     |
      | . . o .SE.      |
      |  + o            |
      |   +             |
      |                 |
      |                 |
      +----[SHA256]-----+
      [root@centos84 .ssh]# 
      到此会在当前用户的家目录下创建一个.ssh的隐藏文件夹,密钥存放在里面。

      2.服务器安装公钥

      # 认证文件配置中指定读取.ssh/authorized_keys,因此我们需要将公钥写入到authorized_keys文件中
      cat id_rsa.pub >> authorized_keys

      3.检查ssh配置文件

      #  /etc/ssh/sshd_config
      RSAAuthentication yes
      PubkeyAuthentication yes
      PermitRootLogin yes

      4.使用工具将服务器的.id_rsa文件下载到客户端电脑,进行putty导入 下载回来的id_rsa是没有后缀的文件,但是使用putty需要.ppk格式,这里可以使用putty的密钥生成器进行转换。

      Centos配置SSH并禁止密码登录 转换

      转换:

      Centos配置SSH并禁止密码登录 转换格式

      将文件保存好。

      导入.ppk格式的私钥文件。

      Centos配置SSH并禁止密码登录 导入 Centos配置SSH并禁止密码登录 导入1

      后面只需要输入用户不需要输入密码即可登录。

      Centos配置SSH并禁止密码登录 验证成功

      三、禁用密码登录

      有时候安全考虑下需要禁止密码登录,可以通过修改配置文件实现。

      # /etc/ssh/sshd_config文件修改配置,然后保存
      PasswordAuthentication no
      systemctl restart sshd

      使用密码提示登录失败

      Centos配置SSH并禁止密码登录 验证

      OK!

      本文由 mdnice 多平台发布

VPS购买请点击我

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

目录[+]