ubuntu

Ubuntu SSH如何使用密钥认证

小樊
110
2025-05-19 18:21:14
栏目: 智能运维

在Ubuntu系统中,使用SSH密钥认证可以提供更安全的远程登录方式。以下是设置和使用SSH密钥认证的步骤:

生成SSH密钥对

  1. 打开终端

  2. 生成密钥对

    ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
    

    这将生成一个RSA密钥对,-b 4096表示密钥长度为4096位,-C后面是你用来标识密钥的注释(通常是你的电子邮件地址)。

  3. 选择保存位置: 按回车键接受默认位置(通常是~/.ssh/id_rsa),或者输入自定义路径。

  4. 设置密码短语(可选但推荐): 输入一个密码短语来保护你的私钥。

将公钥复制到远程服务器

  1. 使用ssh-copy-id命令

    ssh-copy-id user@remote_host
    

    这将提示你输入远程服务器的用户密码,并将你的公钥添加到远程服务器的~/.ssh/authorized_keys文件中。

  2. 手动复制公钥(如果ssh-copy-id不可用):

    • 在本地机器上找到公钥文件(通常是~/.ssh/id_rsa.pub)。
    • 登录到远程服务器:
      ssh user@remote_host
      
    • 创建.ssh目录(如果不存在)并设置正确的权限:
      mkdir -p ~/.ssh
      chmod 700 ~/.ssh
      
    • 将公钥内容追加到~/.ssh/authorized_keys文件中:
      echo "your_public_key_content" >> ~/.ssh/authorized_keys
      chmod 600 ~/.ssh/authorized_keys
      

使用SSH密钥认证登录

  1. 直接登录

    ssh user@remote_host
    

    如果一切设置正确,你应该能够无需输入密码直接登录。

  2. 配置SSH客户端(可选): 你可以在本地机器的~/.ssh/config文件中配置SSH连接,以便更方便地管理多个远程主机:

    Host remote_host
        HostName remote_host_ip_or_domain
        User your_username
        IdentityFile ~/.ssh/id_rsa
    

注意事项

通过以上步骤,你就可以在Ubuntu系统中成功设置和使用SSH密钥认证了。

0
看了该问题的人还看了