如何在 Vultr 服务器中使用 SSH

介绍

SSH 是一种协议,允许您从远程系统连接到基于 Linux 或 Unix 的服务器。OpenSSH 是一种连接工具,它使用 SSH 协议通过安全外壳在客户端和服务器之间进行通信。本指南介绍了如何使用密码通过 SSH 连接到您的 Vultr 服务器或使用 OpenSSH 的 SSH 密钥。它还介绍了如何生成 SSH 密钥并将其手动添加到服务器。

如何使用密码连接

若要使用 SSH 客户端和密码连接到服务器,请在本地工作站上打开命令提示符并执行以下命令。将示例 IP 地址替换为服务器的 IP 地址,您可以在 Vultr 客户门户的服务器信息页面上找到该地址。

$ ssh root@192.0.2.123

SSH 显示一条警告以确认服务器的真实性。键入并按 。您将看到密码提示。键入密码,然后按 。YesENTERENTER

注意:键入时密码将不可见。

现在,您将登录到服务器,您可以使用命令与服务器进行交互。

什么是 SSH 密钥对

SSH 密钥对包含公钥和私钥。公钥存储在服务器上,私钥存储在将用于连接到远程服务器的本地计算机上。这两个密钥对于使用 SSH 密钥通过 SSH 连接到服务器都是必需的。

如何在 Windows、Linux、Mac 上生成密钥

ssh-keygen实用程序可用于生成 SSH 密钥。

如何使用命令ssh-keygen

使用以下命令在 Windows、Linux 和 Mac 中生成密钥对。

ssh-keygen -t ed25519 -C email@example.com

哪里

  • ssh-keygen- 生成SSH密钥对的命令
  • -t- 用于指定密钥类型的标志
  • ed25519- 要生成的密钥的类型。 建议使用,因为它比 RSA 类型密钥更安全ed25519
  • -C- 标志以指定键的注释
  • email- 要在密钥中添加的注释。此注释将附加在公钥字符串的末尾。当服务器上有更多公钥可用时,它将有助于识别密钥(稍后将详细介绍本主题)。

在 Windows 上生成密钥

启动命令提示符并使用以下命令生成 SSH 密钥对。

C:\users\username>  ssh-keygen -t ed25519 -C email@example.com

系统会提示您输入生成密钥的位置。默认值在括号中显示为 (C:\Users\Username/.ssh/id_ed25519)。

注意:建议使用此目录。因为在登录时,SSH会在默认目录中查找密钥。如果使用默认目录以外的目录,则需要显式指定键位置。

按下可使用默认位置。ENTER

Generating public/private ed25519 key pair.
Enter file in which to save the key (C:\Users\username/.ssh/id_ed25519):

系统会提示输入密钥的密码。您可以根据需要输入密码,也可以按下创建没有密码的键。如果您选择输入密码,则每次使用此密钥登录时都需要使用它。ENTER

Enter passphrase (empty for no passphrase):

确认密码后,将生成密钥并将其存储在默认位置,并显示以下消息。

Your identification has been saved in    C:\Users\username/.ssh/id_ed25519.
Your public key has been saved in C:\Users\username/.ssh/id_ed25519.pub.
The key fingerprint is:
SHA256:W6ceE1mGIi87YjD9BEUoROg3Aie/fOZMr1c+qOSD8Wk email@example.com
The key's randomart image is:
+--[ED25519 256]--+
| +o  oo          |
+----[SHA256]-----+

在 Linux 上生成密钥

启动 Linux shell 并使用以下命令创建 SSH 密钥对。

$ ssh-keygen -t ed25519 -C email@example.com

系统会提示您输入密钥的位置。默认值在括号中显示为 (/home/username/.ssh/id_ed25519)

注意:建议使用此目录。因为在登录时,SSH会在默认目录中查找密钥。如果使用默认目录以外的目录,则需要显式指定键位置。

按下可使用默认位置。ENTER

Generating public/private ed25519 key pair.
Enter file in which to save the key (C:\Users\username/.ssh/id_ed25519):

系统会提示输入密钥的密码。您可以根据需要输入密码,也可以按下创建没有密码的键。如果您选择输入密码,则每次使用此密钥登录时都需要使用它。ENTER

Enter passphrase (empty for no passphrase):

确认密码后,将生成密钥并将其存储在默认位置,并显示以下消息。

Your identification has been saved in /home/ubuntu/.ssh/id_ed25519
Your public key has been saved in /home/ubuntu/.ssh/id_ed25519.pub

The key fingerprint is:
SHA256:c0hYyBV+e1vY7DUVage/3nYk4z9DvxzrLmsiek7dkZE email@example.com
The key's randomart image is:
+--[ED25519 256]--+
|     . o+.   . . |
+----[SHA256]-----+
|      o+      = .|

在Mac上生成密钥

启动终端并使用以下命令生成 SSH 密钥对。

% ssh-keygen -t ed25519 -C email@example.com

系统会提示您输入生成密钥的位置。默认值在括号中显示为 (/Users/Username/.ssh/id_ed25519)。

注意:建议使用此目录。因为在登录时,SSH会在默认目录中查找密钥。如果使用默认目录以外的目录,则需要显式指定键位置。

按下可使用默认位置。ENTER

Generating public/private ed25519 key pair.
Enter file in which to save the key (/Users/Username/.ssh/id_ed25519):

系统会提示输入密钥的密码。您可以根据需要输入密码,也可以按下创建没有密码的键。如果您选择输入密码,则每次使用此密钥登录时都需要使用它。ENTER

Enter passphrase (empty for no passphrase):

确认密码后,将生成密钥并将其存储在默认位置,并显示以下消息。

Your identification has been saved in    /Users/Username/.ssh/id_ed25519.
Your public key has been saved in /Users/Username/.ssh/id_ed25519.pub.
The key fingerprint is:
SHA256:W6ceE1mGIi87YjD9BEUoROg3Aie/fOZMr1c+qOSD8Wk email@example.com
The key's randomart image is:
+--[ED25519 256]--+
| +o  oo          |
+----[SHA256]-----+

如何向现有服务器添加密钥

SCP 命令用于将文件复制到远程服务器。必须将公有 SSH 密钥复制到服务器才能启用 SSH 身份验证。您可以使用该命令将公钥复制到远程服务器。scp

启动命令提示符或 Linux shell,然后执行以下命令以复制公钥。

C:\users\username> scp C:\Users\username\.ssh\id_ed25519.pub example_user@192.0.2.123:/home/example_user 

哪里

  • SCP- 复制文件的命令
  • C:\Users\username\.ssh\id_ed25519.pub- 生成的公钥位置
  • example_user- 需要将文件复制到的服务器的用户名。您需要有权访问此服务器
  • 192.0.2.123- 服务器的IP地址
  • /home/example_user- 服务器上的目标文件夹位置

文件将复制到目录中。现在,您需要将密钥复制到文件中并启用 SSH 身份验证。登录到新创建的 Vultr 服务器,并使用以下命令导航到用户的主目录。authorized_keys

$ cd /home/example_user/ 

如果目录尚不存在,请使用以下命令创建一个目录。.ssh

$ mkdir .ssh

导航到 .ssh 文件夹。

$ cd .ssh

使用以下命令创建一个将公钥存储在服务器中的密钥。authorized_keys

$ touch authorized_keys

仅当文件不存在时,该命令才会创建文件。touch

创建文件后,使用如下所示的命令将公钥的内容复制到文件中。authorized_keyscat

$ cat /home/example_user/id_ed25519.pub >> authorized_keys

钥匙放置在适当的位置。

启用 SSH 密钥身份验证

SSH 身份验证方法在名为sshd_config.

要使用 SSH 密钥启用身份验证,请使用以下命令导航到该目录。/etc/ssh/

$ cd /etc/ssh 

使用以下命令打开文件。sshd_config

$ sudo nano sshd_config

在文件中,查找并取消注释以下两行。

PubkeyAuthentication yes
AuthorizedKeysFile  .ssh/authorized_keys   .ssh/authorized_keys2

将参数设置为启用使用公钥的身份验证。该参数指定公钥的位置。现在,密钥已添加到现有服务器。您可以使用下一节中定义的步骤使用公钥通过 SSH 连接到服务器。PubkeyAuthenticationyesAuthorizedKeysFile

如何使用密钥连接

OpenSSH 客户端提供与服务器建立 SSH 连接的命令。启动命令提示符,然后使用以下命令使用 SSH 密钥通过 SSH 连接到服务器。ssh

C:\users\username>  ssh example_user@192.0.2.123

哪里

  • ssh- 建立连接的命令
  • example_user- 用于建立连接的用户名
  • 192.0.2.123- 服务器的IP地址

此命令将使用本地计算机的默认 ssh 目录 () 中的私钥。如果公钥和私钥正确匹配,则将建立SSH连接,并且您可以与服务器通信。./users/.ssh

如何使用密钥部署新服务器

要使用 SSH 密钥部署新服务器,您需要在 Vultr Dashboard 中创建 SSH 密钥。请按照以下步骤将 SSH 密钥添加到您的 Vultr 帐户。

  1. 登录到客户中心。
  2. 单击右上角的姓名,然后从下拉菜单中选择 SSH 密钥
  3. 单击蓝色的“加号”按钮以添加密钥。
  4. 输入密钥的描述性名称。
  5. 将公钥粘贴到 SSH 密钥字段中。6jGzBK0
  6. 单击“添加 SSH 密钥”按钮以创建 SSH 密钥。

将添加 SSH 密钥,您可以在启动新服务器时在 SSH 密钥部分中选择此 SSH 密钥。

相关文章

使用SSH密钥连接到VULTR云服务器

如何使用SSH、RDP或SFTP连接到您的Vultr云服务器

 

THE END