如何在Vultr服务器中使用SSH连接服务器
介绍
SSH 是一种协议,允许您从远程系统连接到基于 Linux 或 Unix 的服务器。OpenSSH 是一种连接工具,它使用 SSH 协议通过安全外壳在客户端和服务器之间进行通信。本指南介绍了如何使用密码通过 SSH 连接到您的 Vultr 服务器或使用 OpenSSH 的 SSH 密钥。它还介绍了如何生成 SSH 密钥并将其手动添加到服务器。
如何使用密码连接
若要使用 SSH 客户端和密码连接到服务器,请在本地工作站上打开命令提示符并执行以下命令。将示例 IP 地址替换为服务器的 IP 地址,您可以在 Vultr 客户门户的服务器信息页面上找到该地址。
$ ssh root@192.0.2.123
SSH 显示一条警告以确认服务器的真实性。键入并按 。您将看到密码提示。键入密码,然后按 。Yes
ENTERENTER
注意:键入时密码将不可见。
现在,您将登录到服务器,您可以使用命令与服务器进行交互。
什么是 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_keys
cat
$ 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 连接到服务器。PubkeyAuthentication
yes
AuthorizedKeysFile
如何使用密钥连接
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 帐户。
- 将公钥粘贴到 SSH 密钥字段中。
- 单击“添加 SSH 密钥”按钮以创建 SSH 密钥。
将添加 SSH 密钥,您可以在启动新服务器时在 SSH 密钥部分中选择此 SSH 密钥。