VPS推荐

如何使用SSH连接VPS服务器(Windows,Linux,Mac)

Pinterest LinkedIn Tumblr

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

使用SSH连接VPS服务器
使用SSH连接VPS服务器

如何使用密码连接

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

$ ssh root@192.0.2.123

SSH显示警告以确认服务器的真实性。键入“是”并按ENTER。你会看到密码提示符。输入密码并按ENTER。

  • 注意:输入密码时不会显示密码。

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

使用SSH连接VPS服务器

使用SSH连接VPS服务器

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 – 要生成的密钥类型。建议使用ed25519,因为它比RSA类型的密钥更安全
  • 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]-----+
使用SSH连接VPS服务器
使用SSH连接VPS服务器

在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 (/home/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 认证。您可以使用 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 – 服务器上的目标文件夹位置

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

$ cd /home/example_user/

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

$ mkdir .ssh

转到 .ssh 文件夹。

$ cd .ssh

使用以下命令创建 authorized_keys,其中将公钥存储在服务器中。

$ touch authorized_keys

如果文件不存在,则 touch 命令将创建文件。

文件创建后,使用以下命令将公钥的内容复制到 authorized_keys 文件中。

$ 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

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

如何使用密钥连接

OpenSSH 客户端提供 ssh 命令以建立 SSH 连接到服务器。启动命令提示符并使用以下命令使用 SSH 密钥 SSH 连接到服务器。

C:\\\\users\\\\username>  ssh example_user@192.0.2.123

其中,

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

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

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

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

  1. 登录到搬瓦工或Vultr等VPS服务器网站后台。
  2. 找到实例的SSH Keys,添加密钥。
  3. 可以为密钥输入一个描述性名称。
  4. 将公钥粘贴到 SSH 密钥字段中。
  5. 单击 Add SSH key 按钮以创建 SSH 密钥。

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