温馨提示×

Ubuntu SSH如何生成和使用密钥对

小樊
52
2025-11-04 09:21:59
栏目: 智能运维

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

生成SSH密钥对

  1. 打开终端: 打开你的Ubuntu终端。

  2. 生成密钥对: 使用ssh-keygen命令生成密钥对。默认情况下,它会生成一个2048位的RSA密钥对,并将其存储在~/.ssh目录下。

    ssh-keygen -t rsa -b 2048
    

    按照提示操作:

    • 当提示输入文件名时,可以直接按回车键使用默认路径~/.ssh/id_rsa
    • 当提示输入密码短语(passphrase)时,可以选择输入一个密码短语来增加安全性,或者直接按回车键跳过。
  3. 查看生成的密钥: 生成的公钥和私钥分别位于~/.ssh/id_rsa.pub~/.ssh/id_rsa

将公钥复制到远程服务器

  1. 使用ssh-copy-id命令: 这是最简单的方法,可以将你的公钥复制到远程服务器的~/.ssh/authorized_keys文件中。

    ssh-copy-id user@remote_host
    

    其中,user是远程服务器的用户名,remote_host是远程服务器的IP地址或域名。

  2. 手动复制公钥: 如果你没有ssh-copy-id命令,可以手动复制公钥。

    • 首先,在本地机器上查看公钥内容:
      cat ~/.ssh/id_rsa.pub
      
    • 然后,登录到远程服务器,并将公钥内容追加到~/.ssh/authorized_keys文件中:
      ssh user@remote_host
      echo "your_public_key_content" >> ~/.ssh/authorized_keys
      chmod 600 ~/.ssh/authorized_keys
      

使用SSH密钥对进行登录

  1. 使用私钥登录: 现在,你可以使用私钥登录到远程服务器,而不需要输入密码。

    ssh -i ~/.ssh/id_rsa user@remote_host
    

    如果你设置了密码短语,系统会提示你输入密码短语。

  2. 配置SSH客户端: 为了简化登录过程,你可以在~/.ssh/config文件中配置SSH客户端。

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

    这样,你只需要输入ssh remote_host就可以登录到远程服务器。

通过以上步骤,你就可以在Ubuntu系统中生成和使用SSH密钥对,从而提高远程登录的安全性。

0