百度
360搜索
搜狗搜索

linux下怎么采用密钥登录详细介绍

在 Linux 系统中使用密钥登录 SSH 可以提高安全性,避免频繁输入密码。以下是详细步骤:

一、生成密钥对(客户端操作)

  1. 检查是否已有密钥
    首先查看本地是否存在现有的 SSH 密钥(默认存储在 ~/.ssh/ 目录):
    bash
      ~/.ssh

  2. 生成新的密钥对
    若没有密钥,使用 ssh-keygen 命令生成(推荐使用 RSA 2048 位或更高):
    bash
    ssh-keygen  rsa    

    • 按回车使用默认存储路径(~/.ssh/id_rsa
    • 可设置密码(非必需,建议设置以增强安全性)

二、上传公钥到服务器(客户端操作)

  1. 通过 ssh-copy-id 自动上传(推荐)
    直接使用工具将公钥添加到服务器的 ~/.ssh/authorized_keys 文件中:
    bash
    ssh-copy-id username@server_ip

    • 输入服务器密码完成认证
    • 若提示找不到命令,手动复制公钥内容:bash
       ~/.ssh/id_rsa.pub   username@server_ip 

  2. 手动上传(适用于无 ssh-copy-id 场景)

    • 复制公钥内容:bash
       ~/.ssh/id_rsa.pub

    • 登录服务器,将公钥粘贴到 ~/.ssh/authorized_keys 文件末尾(确保文件存在,权限为 600):bash
       username@server_ip

      ~/.ssh

      ~/.ssh/authorized_keys

      ~/.ssh/authorized_keys

三、配置服务器端 SSH 服务(管理员操作)

  1. 编辑 SSH 配置文件
    bash
      /etc/ssh/sshd_config

  2. 启用密钥登录相关配置
    确保以下参数未被注释或设置正确(若被注释,删除 # 并修改值):
    config
    PubkeyAuthentication yes         # 启用公钥认证

    AuthorizedKeysFile .ssh/authorized_keys # 指定公钥文件路径

    PasswordAuthentication no # (可选)禁用密码登录,增强安全性

  3. 重启 SSH 服务
    bash
     systemctl restart sshd

四、测试密钥登录

bash

 username@server_ip

  • 成功登录则无需输入服务器密码(若禁用了密码登录)。
  • 若失败,检查:
    • 服务器 authorized_keys 文件权限是否为 600,目录 ~/.ssh/ 权限是否为 700
    • SSH 服务配置是否正确重启
    • 防火墙是否允许 SSH 端口(默认 22)

五、进阶:使用 SSH Agent 管理密钥(可选)

  1. 启动 SSH Agent
    bash
     ssh-agent "

    912eval

  2. 添加私钥到 Agent
    bash
    ssh-add ~/.ssh/id_rsa

    912ssh-add ~/.ssh/id_rsa

    • 后续登录无需重复输入密钥密码(除非重启 Agent)。

通过以上步骤,即可在 Linux 下实现安全的 SSH 密钥登录。密钥登录相比密码登录更安全,且支持无密码自动认证,适合服务器管理和持续集成场景。

阅读更多 >>>  linux怎么用sudo命令

文章数据信息:

本文主要探讨:"linux下怎么采用密钥登录", 浏览人数已经达到30次, 首屏加载时间:1.415 秒。