📜  如何在 ubuntu 中生成 ssh 密钥 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:08:49.537000             🧑  作者: Mango

如何在 Ubuntu 中生成 SSH 密钥

在使用 SSH 远程登录 Linux 服务器时,我们通常使用 SSH 密钥进行身份验证。该密钥由一对公钥和私钥组成,其中私钥必须保密。本文将介绍如何在 Ubuntu 中生成 SSH 密钥。

步骤一:检查 SSH 是否安装

在开始之前,请确保已经在 Ubuntu 上安装了 SSH。可以通过以下命令来检查 SSH 是否已经安装:

sudo apt-get update
sudo apt-get install openssh-server
步骤二:生成 SSH 密钥
  1. 打开终端。

  2. 输入以下命令来生成 SSH 密钥:

    ssh-keygen
    

    运行命令后,您将被提示输入要保存密钥对的文件名和密码。如果您不需要密码保护密钥对,请留空。

    生成密钥对:
    ssh-keygen
    
    
    
    
  3. 默认情况下,SSH 密钥将被保存在用户主目录下的 .ssh 目录中。该目录包含 id_rsa 文件和 id_rsa.pub 文件,它们分别对应您的私钥和公钥。

    ls ~/.ssh/
    
步骤三:将公钥添加到远程服务器
  1. 如果您没有在远程服务器上设置 SSH 密钥,请先执行以下操作:

    • 远程连接到服务器

    • 在服务器上创建一个新的 .ssh 目录

      mkdir ~/.ssh
      chmod 700 ~/.ssh
      
  2. 将您的公钥添加到远程服务器的授权文件中:

    cat ~/.ssh/id_rsa.pub | ssh [user]@[server] "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
    

    运行命令后,您需要输入您在远程服务器上的密码来确认。

    添加公钥到远程服务器:
    cat ~/.ssh/id_rsa.pub | ssh [user]@[server] "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
    
    
    
    
步骤四:测试 SSH 连接

现在,您已经成功生成了 SSH 密钥并将公钥添加到远程服务器,接下来就是测试 SSH 连接了。

ssh [user]@[server]

如果一切正常,您将无需输入密码便可以登录远程服务器了。

测试 SSH 连接:
ssh [user]@[server]