SSH密钥认证如何设置

发布时间:2025-04-06 13:38:43 作者:小樊
来源:亿速云 阅读:142

SSH密钥认证是一种安全的身份验证方法,它使用公钥和私钥对来进行身份验证。以下是设置SSH密钥认证的步骤:

在客户端生成SSH密钥对

  1. 打开终端

    • 在Linux或macOS上,打开终端应用程序。
    • 在Windows上,可以使用Git Bash、Cygwin或Windows Subsystem for Linux (WSL)。
  2. 生成密钥对: 使用ssh-keygen命令生成一个新的SSH密钥对。

    ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
    
    • -t rsa:指定使用RSA算法。
    • -b 4096:指定密钥长度为4096位。
    • -C "your_email@example.com":添加一个注释,通常是你的电子邮件地址。

    按照提示操作,你可以选择密钥的存储位置和设置密码短语(可选)。

  3. 找到生成的密钥

    • 公钥通常位于~/.ssh/id_rsa.pub
    • 私钥通常位于~/.ssh/id_rsa

将公钥复制到服务器

  1. 使用ssh-copy-id命令

    ssh-copy-id user@server_ip
    
    • user:服务器上的用户名。
    • server_ip:服务器的IP地址或域名。

    这个命令会将你的公钥复制到服务器的~/.ssh/authorized_keys文件中。

  2. 手动复制公钥: 如果你不能使用ssh-copy-id命令,可以手动复制公钥。

    • 在客户端上打开公钥文件:
      cat ~/.ssh/id_rsa.pub
      
    • 将输出的内容复制到剪贴板。
    • 登录到服务器,编辑或创建~/.ssh/authorized_keys文件:
      nano ~/.ssh/authorized_keys
      
    • 将公钥内容粘贴到文件中,并保存退出。

配置SSH服务器

  1. 确保SSH服务器允许密钥认证: 编辑服务器上的/etc/ssh/sshd_config文件:

    sudo nano /etc/ssh/sshd_config
    
    • 确保以下行没有被注释掉并且设置为yes
      PubkeyAuthentication yes
      
    • 你也可以调整其他相关设置,如AuthorizedKeysFile
  2. 重启SSH服务

    sudo systemctl restart sshd
    

测试SSH密钥认证

  1. 从客户端连接到服务器
    ssh user@server_ip
    
    • 如果一切配置正确,你应该能够无需输入密码直接登录到服务器。

其他注意事项

通过以上步骤,你应该能够成功设置并使用SSH密钥认证。

推荐阅读:
  1. Windows平台使用Navicat for MySQL通过SSH密钥认证连接远程MySQL数据库
  2. 限制用户通过ssh密钥进行认证登陆

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

运维ssh

上一篇:SEO长期策略与短期目标如何平衡

下一篇:SSH安全设置有哪些要点

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》