50% 折扣 所有计划,时间有限。开始于 $2.48/mo
还剩 20 分钟
安全与网络

如何在Linux中使用SSH连接远程服务器?[2023版]

艾伦 By 艾伦 20 分钟阅读 4天前更新
在Linux中使用SSH连接到远程服务器

这篇文章致力于解释如何在 Linux 中使用 SSH 连接到远程服务器。我们还介绍了使用 PuTTY 连接到远程 Linux 服务器的方法。当然,PuTTY 并不是唯一可用于远程连接的 SSH 客户端。看看这个 2022 年 Windows 最佳 SSH 客户端比较 并选择与您想要的相匹配的一项。远程访问设备很久以前就成为了一种需求,我们很难想象如果我们不能远程控制计算机会怎样。

有多种方法可以连接到远程计算机,具体取决于您使用的操作系统,但最广泛使用的两种协议是:

  1. 适用于基于 Linux 的设备的安全 Shell (SSH)
  2. 适用于 Windows 设备的远程桌面协议 (RDP)

两种协议都使用客户端和服务器应用程序来创建远程连接。这些工具允许您访问和远程控制其他机器、传输数据以及几乎完成您坐在计算机前可以完成的所有操作。

什么是 SSH?它代表什么?

SSH(安全外壳)也称为“安全套接字外壳”,是一种允许您使用基于文本的界面安全连接到远程设备或服务器的协议。有两种最广泛使用的协议可用于连接到远程计算机:SSH 和 RDP。创建 SSH 连接需要客户端和服务器组件。

创建安全 SSH 连接后,将开始 shell 会话,您将能够通过在本地计算机上的客户端中键入命令来操作服务器。那些想要以高度安全的方式远程访问设备的人,特别是系统和网络管理员,可以使用此协议来完成工作。

RDP-vps 需要远程桌面吗?

可靠、高性能的 RDP 服务器,正常运行时间为 99.95。随身携带您的桌面前往美国、欧洲和亚洲的所有主要城市。

获取 RDP 服务器

SSH 是如何工作的?

要创建 SSH 连接,您需要两个组件:
客户端和相应的服务器端部分。 SSH 客户端是您在用于连接到另一台计算机或服务器的设备上运行的应用程序。客户端使用远程主机提供的数据来发起连接。验证凭据后,客户端将创建加密连接。

在服务器端,有一个部分叫做 SSH 守护进程 (SSHD) 它不断侦听特定的 TCP/IP 端口以获取潜在的客户端链接请求。如果客户端已开始连接,SSH 守护进程将回复其支持的软件和协议版本,并且两者将共享其标识数据。

如果收到的凭据正确,SSH 将为适当的环境建立一个新会话。 SSH 服务器和 SSH 客户端通信的 SSH 协议的默认版本是版本 2。

另请阅读:  2022 年 Windows 最佳 SSH 客户端

什么是终端?

如果您是 Linux 新手,您想熟悉一下终端。将其视为最终的命令快捷方式中心,是与 Linux 服务器通信的通用方式。

使用命令行可能看起来是一项具有挑战性的工作,但如果您从基础知识开始,它就会很简单 - 就像这些 每个用户都应该知道的 15 个基本命令.

如果您计划使用 PHP 或 Python 开发应用程序(或学习开发应用程序),那么终端就变得更加重要。与 Windows 不同,Windows 试图用 GUI 重新创建一团乱麻的 Python,而 Linux 将 Python 和其他编程语言集成到终端中。所以,即使你必须经历一些 在 Windows 上安装 Python 的步骤 只是为了得到一些无效的混乱,Linux 已经附带了它,并且可以通过命令行访问。

linux-vps Linux 托管简化

想要更好的方式来托管您的网站和网络应用程序吗?开发新东西?就是不喜欢 Windows?这就是我们拥有 Linux VPS 的原因。

获取您的 Linux VPS

什么是 SSL?

SSH 使用 SSL(安全套接字层)为 Web 浏览器和服务器之间传输的数据提供安全性。 Web 服务器和浏览器之间的链接加密是通过 SSL 完成的,确保它们之间传递的所有数据保持私密且免受攻击。换句话说,在通过 SSH 连接的远程服务器和本地计算机之间创建公钥和私钥是 SSL 安全协议的一部分。这种额外的保护层很有用,特别是在暴力密码攻击的情况下。

如何创建SSH连接?

由于创建 SSH 连接需要客户端和服务器组件,因此您需要确保它们安装在本地和远程计算机上。

开放SSH 是 Linux 发行版中常用的开源 SSH 工具 并且相对容易使用。它需要访问服务器上的终端以及您用来连接的设备。请注意,Ubuntu 默认情况下没有安装 SSH 服务器。 至此 SSH 远程连接指南,我们现在了解了 SSH 及其相关概念,所以让我们深入了解如何安装 OpenSSH 客户端。

第 1 步:安装 OpenSSH 客户端

在安装 SSH 客户端之前,请确保您的系统上尚未安装它。许多 Linux 发行版已经有 SSH 客户端。

  1. 运行以下命令在您的设备上安装 OpenSSH:
sudo apt-get install openssh-client
  1. 需要时输入超级用户密码。
  2. 按 Enter 完成安装过程。

如果您拥有必要的访问权限以及主机名或 IP 地址,您现在可以在任何带有服务器端应用程序的计算机上使用 SSH。

第2步:安装OpenSSH服务器

要接受 SSH 连接,必须在计算机上安装 SSH 软件工具包的服务器端部分。为此,您必须执行以下步骤:

  1. 打开服务器计算机上的终端。您可以查找终端或单击 CTRL + ALT + T 在你的键盘上。
  2. 输入以下命令来安装 SSH 服务器:
sudo apt-get install openssh-server
  1. 需要时输入超级用户密码。
  2. 进入Y 允许在出现磁盘空间提示后继续安装。

完成上述步骤后,您将为您安装相应的支持文件,然后您可以通过输入以下命令来检查机器上是否正在运行 SSH 服务器:

sudo service ssh status

如果 SSH 服务正确运行,终端答案应该与此相同:

SSH 状态
SSH 状态

了解 OpenSSH 服务器是否已正确安装并接受连接的另一种方法是在终端提示符中重新运行 ssh localhost 命令。当您第一次运行该命令时,响应将类似于此屏幕:

受密码保护的私钥的输出
受密码保护的私钥的输出

现在,输入 是的 or y 继续。

干得好!您的服务器现在已准备好使用 SSH 客户端接受来自另一台计算机的 SSH 远程连接请求。

如何在 Linux 中使用 SSH 连接到远程服务器?

现在您已经在您需要的每台设备上安装了 OpenSSH 客户端和服务器;您可以通过以下步骤创建到服务器的安全 SSH 远程连接:

  1. 打开计算机上的 SSH 终端并启动以下命令:

如果本地设备上的用户名与您要连接到服务器上的用户名匹配,则可以运行以下命令:

ssh your_username@host_ip_address

如果本地设备上的用户名与要连接的服务器上的用户名匹配,则可以运行以下命令:

ssh host_ip_address

并按 进入.

  1. 输入您的密码并按 Enter 键。请注意,您键入时不会在屏幕上收到任何反馈。如果您粘贴密码,请确保将其安全存储,而不是存储在文本文件中。
  2. 当您第一次连接到服务器时,系统会询问您是否要继续连接。只需输入“是的”并按 进入。此消息仅出现一次,因为远程服务器未在您的本地计算机上识别。
  3. ECDSA 指纹密钥现已添加,并且您已连接到远程服务器。

如果您尝试远程链接的设备位于同一网络上,则使用私有 IP 地址比使用公共 IP 地址更安全。否则,您只需要使用公共 IP 地址。您现在可以使用终端管理和控制远程设备。如果您在连接到远程服务器时遇到问题,请确保远程设备的 IP 地址、您的用户名和密码的正确性。此外,请检查SSH守护程序正在侦听的端口是否被防火墙阻止或转发错误。

linux-vps Linux 托管简化

想要更好的方式来托管您的网站和网络应用程序吗?开发新东西?就是不喜欢 Windows?这就是我们拥有 Linux VPS 的原因。

获取您的 Linux VPS

远程控制 SSH 的进一步步骤

现在您可以创建到服务器的 SSH 远程连接,我们强烈建议您采取一些进一步的步骤来提高远程控制 SSH 及其安全性。因为当您对 ssh 远程连接相关的设置使用默认值时,您的系统将更容易受到黑客攻击和入侵,从而使整个 SSH 远程访问变得不安全,并导致您的系统成为脚本攻击的目标。

以下是一些提高 SSH 安全性的建议,您可以通过编辑 sshd 配置文件来利用这些建议:

  • 修改 SSH 守护进程监听的默认 TCP 端口,将其从 22 更改为更高的端口号,例如 245976。注意不要使用容易猜测的端口号,例如 222、2222 或 22222。
  • 使用 SSH 密钥对进行无密码 SSH 登录的身份验证。它们更安全,无需使用密码即可登录,为您提供更快、更方便的方法。
  • 在服务器上禁用基于密码的登录。因为如果您的密码被破解,禁用此功能将消除使用它登录服务器的可能性。在此之前,确保密钥对的身份验证正常工作至关重要。
  • 禁用对服务器的 root 访问权限,并通过 su – 命令使用常规帐户(切换到 root 用户)。

 现在我们对SSH远程连接以及如何远程访问SSH有了更多的了解。我们在本文中多次提到 PuTTy;当然,如果你不熟悉PuTTy,你会对它产生一些疑问。因此,除了提供 SSH 远程连接指南文章之外,我们还将向您介绍 PuTTy 的概述,并向您展示如何使用它连接到 Linux 服务器。

什么是腻子?

PuTTY 是一种流行的 Windows 终端仿真器,不仅限于 Windows 操作系统。 PuTTy 是免费且开源的,因此也很受 Linux 用户欢迎,并为运行其支持的任何协议的远程计算机提供文本用户界面 包括 SSH 和远程登录.

[su_button url=”https://www.putty.org/” target=”blank” style=”soft” size=”5″]下载Putty[/su_button]

笔记: PuTTY 可以免费下载软件,并提供一种从 Windows 系统访问 Unix shell 环境的简单方法。与 Unix 不同,Windows 没有预装 SSH 服务器或客户端。这就是为什么网络文件传输程序支持多种协议,包括 Telnet 客户端。

另请阅读: 在 Windows 10 中生成 SSH 密钥

如何在 Ubuntu Linux 上下载并安装 Putty?

Linux 版本的 PuTTY 是一个图形终端应用程序,大多数 Linux 发行版中并未预安装。不过,您可以通过终端在基于 Linux 的设备上轻松安装 puTTY。

如果您没有安装 PuTTY,请访问 下载腻子 页面并从该页面的包文件部分下载 Linux 安装程序。

对于 Linux 用户来说,好消息是 PuTTY 可以在 Ubuntu Universe 存储库中使用。要在 Linux Ubuntu 上安装 PuTTY,您应该首先确保已启用 Universe 存储库。使用这个命令:

sudo add-apt-repository universe

启用 Universe 存储库后,您可以使用以下命令更新 Ubuntu:

sudo apt update

然后使用以下命令安装 PuTTY:

sudo apt install putty

PuTTY 安装完成后,您可以通过在菜单中查找来启动 PuTTY。 Linux 版本的 PuTTY 看起来与 Windows 版本几乎相同。因此,您在新的和更改的设置中找到方法不会有任何困难。

如何使用PuTTY连接Linux服务器?

如果您在安装PuTTY后想使用PuTTY连接Linux服务器,则需要执行以下步骤:

第1步:配置PuTTY

当您启动 PuTTY 时,将出现主会话配置屏幕。首先输入 主机名 您尝试连接的服务器(或 IP 地址)。

默认情况下,端口将设置为 22,因为这是大多数服务器上 SSH 的标准端口,这是一个漏洞,因为黑客会知道默认情况下要瞄准哪个端口。你应该 使用这些说明更改 SSH 端口 然后在 PuTTY 中更改数字。确保连接类型设置为 SSH。

假设您不使用私钥连接到服务器,并且不喜欢保存配置以供以后使用。在这种情况下,您应该单击“打开”以启用与服务器的 SSH 立即连接,并使用您的帐户密码对其进行身份验证。

如果这是您第一次连接到服务器,PuTTY 将显示 安全警告 让您知道它在该服务器的注册表中没有密钥。这对于您的第一次连接来说很常见。

使用 SSH 连接到远程服务器

如果连接成功,系统将要求您输入密码。一旦完成,您现在将连接到服务器上的 shell。

另请阅读: 在 VPS 上安装 MikroTik CHR(使用 PuTTY)

步骤 2:保存 PuTTY 配置以供下次使用 

PuTTY 允许您保存用于连接到服务器的配置,这样您就不必每次都键入所有信息。填写完所有必填字段并准备好连接后,请确保您位于上述主会话配置屏幕上。

您可以看到服务器的主机名和端口号。在下面的文本框中输入保存的 SSH 会话配置的名称 已保存的会话 并按 节省.

如何在 Linux 上设置 SSH 公钥验证?

PuTTY 还可以配置为使用 SSH 密钥。 SSH 密钥是更安全、有时更方便的身份验证方法。您可以使用 PuTTY 本身来生成它们。这是我们的 在 Windows 上使用 PuTTY 生成 SSH 密钥的指南。您可以使用它来快速增强 SSH 安全性。

您需要按照几个步骤在 Linux(或 macOS 计算机)上通过 SSH 设置公钥身份验证:

步骤1:生成密钥对

首先,登录到用于访问远程主机的计算机,并使用命令行 SSH 通过 RSA 算法生成密钥对。要生成 RSA 密钥,请在命令行中键入以下内容,然后单击 Enter:

ssh-keygen -t rsa

第 2 步:提供文件名和密码

您必须提供一个文件名来保存密钥对,并提供一个密码来保护您的私钥。如果您想继续使用密钥对的默认文件名和位置,请单击 Enter 或 Return,而不输入文件名。或者,您可以在提示符处输入文件名,例如 My_ssh_key,然后按 Enter 或 Return。请注意,许多远程主机都配置为接受具有默认文件名和路径的私钥。因此,您必须在 SSH 命令行或 SSH 客户端配置文件 (~/.ssh/config) 中显式调用它。

您需要输入至少五个字符的密码,然后单击“Enter”或“Return”。如果您在没有密码的情况下单击 Enter,它将生成您的私钥 无密码保护.

第三步:复制公钥

 使用 SFTP 或 SCP 将公钥文件复制到您在远程系统上的帐户。

第 4 步:输入您的帐户凭据

现在系统会要求您提供帐户密码。您的公钥将被复制到您的主目录,并以相同的文件名保存在远程系统上。

第5步:登录远程系统

使用您的帐户用户名和密码登录远程系统

第 6 步:在您的帐户上创建必要的文件

如果您在远程系统上的帐户还没有 ~/.ssh/authorized_keys 文件,请通过键入以下命令创建一个:

mkdir -p ~/.ssh
touch ~/.ssh/authorized_keys

步骤7:将公钥文件的内容添加到 授权密钥文件

受密码保护的私钥的输出
受密码保护的私钥的输出

在远程系统上,使用以下命令将公钥文件的内容(例如 ~/id_rsa.pub)添加到 ~/.ssh/authorized_keys 文件的新行中:

cat ~/id_rsa.pub >> ~/.ssh/authorized_keys

您可能需要检查 ~/.ssh/authorized_keys 的内容,以确保您的公钥已通过以下命令正确添加:

more ~/.ssh/authorized_keys

步骤8:删除公钥文件

现在,您可以在命令行上使用以下代码安全地从远程系统上的帐户中删除公钥文件:

rm ~/id_rsa.pub

或者,如果您想在远程系统上保留公钥的副本,请通过以下命令将其移动到您的 .ssh 目录:

mv ~/id_rsa.pub ~/.ssh/

第 9 步:将您的公钥添加到其他系统(可选)

在 SSH 公钥身份验证设置完成后,您可以重复这些步骤,将公钥添加到您想要使用 SSH 公钥身份验证通过私钥从计算机访问的其他远程系统。

第 10 步:通过 SSH 连接到您在远程系统上的帐户

现在,您应该能够利用 SSH 远程连接的优势,利用您在具有私钥的远程系统上的帐户。如果您的私钥受密码保护,远程系统将要求您提供密码或密码(如下图所示)。请注意,您的私钥密码或密码不会发送到远程系统。

受密码保护的私钥的输出
受密码保护的私钥的输出

如果您的私钥不受密码保护,远程系统会将您带到主目录中的命令行,而不要求您输入密码或密码短语,并且您将看到类似于以下内容的输出:

不带密码的私钥输出
不带密码的私钥输出

单击 打开 选项卡,输入密码,然后连接。

除了 SSH 远程连接之外,多种远程桌面工具使您能够远程控制系统。让我们简要讨论一下这些工具。

另请阅读: 关于 SSH SOCKS5 代理您需要了解的一切

重要的远程桌面标准

VNC 和 RDP 是两种远程桌面协议;这两种技术都有相似的目标,但方法不同。

什么是VNC?

有时,VNC(虚拟网络计算)会被错误地与 VPN(虚拟专用网络)混淆。它们在对等网络环境中执行相同的操作,允许远程访问计算机。然而,它们本质上并不相同。 

VNC 通过桌面共享系统提供完整的设备访问,使您可以远程完全控制您的计算机。远程桌面功能可提高所有相关方的工作效率,包括个人用户、组织和 IT 员工。

另一方面,VPN 提供对网络而不是系统本身的远程访问,这意味着您只能访问共享数据和设备,例如工作场所中的共享打印机。

通过 SSH 建立隧道 VNC

如果您使用虚拟网络计算 (VNC) 协议连接到远程桌面,您的连接将不安全。某些 VNC 客户端不会保护您超出初始登录点的连接。您可以通过安全外壳 (SSH) 隧道建立 VNC 连接来解决该问题。  SSH 隧道为 VNC 提供安全连接,允许您在常用 VNC 端口(端口 5901)被阻止时使用 VNC 连接。

某些公司网络会阻止标准端口(例如端口 5901)以提供额外保护,因此通过 SSH 建立隧道 VNC 将允许您克服此问题。

什么是 RDP?

RDP(远程桌面协议)是微软创建的一种网络通信协议,允许用户远程链接到另一台设备。  远程桌面协议是 T.120 协议(常规协议)的扩展,属于 ITU(国际电信联盟)的一部分。

RDP-vps 需要远程桌面吗?

可靠、高性能的 RDP 服务器,正常运行时间为 99.95。随身携带您的桌面前往美国、欧洲和亚洲的所有主要城市。

获取 RDP 服务器

最后的想法:SSH远程连接

要在 Linux 中创建 SSH 远程连接并使用它来连接服务器,您需要客户端和相应的服务器端部分作为两个组件。本指南文章介绍了如何远程访问 SSH 并利用其优势。我们也很自豪能够提供各种 Linux VPS 计划 帮助您最大限度地发挥其优秀品质。在cloudzy,我们竭尽全力为您提供出色的Linux VPS解决方案,使您选择的服务具有出色的安全性和性能,为您提供卓越的托管体验。

常问问题

 

什么是 SSH?

SSH 是一种用于连接远程服务器时确保安全的协议。 ssh 命令利用该协议以加密形式在客户端和主机之间传输数据。

如何设置 SSH 密钥?

  1. 生成 SSH 密钥
  2. 命名您的 SSH 密钥
  3. 输入密码(可选)
  4. 将公钥移至远程系统
  5. 测试您的连接。

什么是 SSH 密钥对?

每个 SSH 密钥对都包含两个密钥:公钥和私钥。任何拥有公钥副本的人都可以加密数据,但该数据只能由持有相应私钥的人读取。

SSH私钥在哪里?

如果您使用默认名称,您的私钥将存储在“/root/.ssh/id_rsa”中。

分享

更多来自博客

继续阅读。

MikroTik L2TP VPN 指南的 Cloudzy 标题图片,显示一台笔记本电脑通过带有盾牌图标的发光的蓝色和金色数字隧道连接到服务器机架。
安全与网络

MikroTik L2TP VPN 设置(使用 IPsec):RouterOS 指南 (2026)

在此 MikroTik L2TP VPN 设置中,L2TP 处理隧道,而 IPsec 处理加密和完整性;将它们配对即可为您提供本机客户端兼容性,无需第三方年龄

雷克萨·赛勒斯雷克萨·赛勒斯 阅读时间 9 分钟
终端窗口显示有关远程主机标识更改的 SSH 警告消息,并在深青色背景上显示“修复指南”标题和 Cloudzy 品牌。
安全与网络

警告:远程主机标识已更改以及如何修复它

SSH 是一种安全网络协议,可在系统之间创建加密隧道。它仍然受到需要远程访问计算机而无需图形界面的开发人员的欢迎。

雷克萨·赛勒斯雷克萨·赛勒斯 10 分钟阅读
DNS 服务器故障排除指南插图,其中包含警告符号和深色背景上的蓝色服务器,用于 Linux 名称解析错误
安全与网络

名称解析暂时失败:这意味着什么以及如何修复?

使用 Linux 时,在尝试访问网站、更新包或执行需要 Internet 连接的任务时,您可能会遇到名称解析错误的临时故障。

雷克萨·赛勒斯雷克萨·赛勒斯 阅读时间 12 分钟

准备好部署了吗? 每月 2.48 美元起。

独立云,自 2008 年起。AMD EPYC、NVMe、40 Gbps。 14 天退款。