百度
360搜索
搜狗搜索

如何使用证书登录linux的ssh详细介绍

以下是使用证书(公钥)登录 Linux SSH 的详细步骤和最佳实践,结合安全配置与故障排除方法:

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

  1. 创建密钥对
    在客户端(本地计算机)执行以下命令生成 RSA 或 ED25519 密钥对:
    bash

    ssh-keygen ed25519

    ssh-keygen rsa

    按提示选择保存路径(默认~/.ssh/id_rsa),并设置密码短语(推荐设置以增强安全性)。

  2. 查看密钥文件
    生成的文件包括:

    • 私钥:~/.ssh/id_rsa(或id_ed25519
    • 公钥:~/.ssh/id_rsa.pub(或id_ed25519.pub

二、上传公钥到服务器

  1. 传输公钥
    使用ssh-copy-id命令自动将公钥添加到服务器(需密码认证一次):
    bash
    ssh-copy-id user@server_ip

    若无法使用ssh-copy-id,可手动操作:
    bash

    ~/.ssh/id_rsa.pub user@server_ip

  2. 验证权限
    确保服务器端公钥文件权限正确:
    bash
     user@server_ip 

三、配置服务器(SSH 服务端)

  1. 启用公钥认证
    编辑服务器的/etc/ssh/sshd_config
    bash
      /etc/ssh/sshd_config

    确保以下配置项存在并设置为yes
    conf

    PubkeyAuthentication yes

    RSAAuthentication yes # 若使用RSA

    # 其他推荐配置(可选)

    PasswordAuthentication no # 禁用密码登录

    PermitRootLogin no # 禁止root直接登录

  2. 重启 SSH 服务
    bash
     systemctl restart sshd

四、配置客户端(SSH 客户端)

  1. 添加私钥到代理
    启动ssh-agent并添加私钥:
    bash
     ssh-agent "  

    ssh-add ~/.ssh/id_rsa

    后续登录无需重复输入密码。

  2. 优化配置文件
    编辑客户端的~/.ssh/config(若不存在则创建):
    conf
    Host server_ip

    HostName server_ip

    User your_username

    IdentityFile ~/.ssh/id_rsa

    ForwardAgent yes # 启用代理转发(可选)

    之后可直接使用ssh server_ip登录。

五、测试与验证

  1. 无密码登录
    bash
     user@server_ip

    若成功登录且无需密码,则配置生效。

  2. 检查日志
    服务器端日志路径:
    bash
       /var/log/secure  

    /var/log/auth.log

    查看是否有认证失败或权限问题。

六、安全增强

  1. 禁用密码登录
    在服务器的sshd_config中设置:
    conf
    PasswordAuthentication no

    增强安全性,防止暴力破解。

  2. 限制 root 登录
    conf
    PermitRootLogin no

    改用普通用户登录后通过sudo提权。

  3. 防火墙设置
    确保 SSH 端口(默认 22)开放:
    bash
     ufw allow   

    firewall-cmd --add-servicessh

七、故障排除

  1. 权限问题

    • 服务器端.ssh目录权限应为700authorized_keys600
    • 客户端私钥权限应为600:bash
        ~/.ssh/id_rsa

  2. 密钥不匹配

    • 检查公钥是否正确添加到服务器的authorized_keys文件。
    • 尝试手动复制公钥内容到authorized_keys,确保无格式错误。

  3. SELinux 或 AppArmor

    • 临时关闭 SELinux:bash
       setenforce 

    • 若需永久关闭,编辑/etc/selinux/config

  4. 防火墙拦截

    • 检查防火墙规则,确保允许 SSH 端口。

八、常见问题

  • “权限被拒绝(publickey)”
    检查密钥权限、服务器配置及日志。
  • “无法连接到服务器”
    确认服务器 IP、端口、网络连通性及防火墙设置。
  • “需要密码”
    确保sshd_configPasswordAuthentication已禁用,且authorized_keys正确配置。

通过以上步骤,您可以安全、高效地使用证书登录 Linux SSH,避免密码泄露风险。若遇到问题,可参考日志和权限设置逐步排查。

阅读更多 >>>  关于liststyletype什么意思的信息

网站数据信息

"如何使用证书登录linux的ssh"浏览人数已经达到23次,如你需要查询该站的相关权重信息,可以点击进入"Chinaz数据" 查询。更多网站价值评估因素如:如何使用证书登录linux的ssh的访问速度、搜索引擎收录以及索引量、用户体验等。 要评估一个站的价值,最主要还是需要根据您自身的需求,如网站IP、PV、跳出率等!