0Pricing
DevOps Bootcamp · 课时

安全 Shell(SSH)基础

学习如何安全连接到远程 Linux 计算机,包括基于密钥的身份验证和基本 SSH 客户端配置。

安全 Shell(SSH)基础 是 CoddyKit 上的免费 DevOps Bootcamp 课时。 这是第 2 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 DevOps Bootcamp 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 DevOps Bootcamp 课程共包含 4 节课。

什么是安全 Shell(SSH)?

欢迎学习安全 Shell(SSH)基础知识!SSH 是一种功能强大的网络协议,允许您通过不安全的网络安全地连接到远程计算机。

您可以把它想象成一条用于传输命令和数据的安全隧道。它对于管理 Linux 服务器、云实例,甚至远程访问您自己的开发环境都至关重要。

为什么使用 SSH?安全第一!

在 SSH 出现之前,远程连接通常未经过加密,这意味着任何人都可能窥探您的密码和数据。SSH 通过强大的加密技术解决了这一问题。

  • 机密性:您的数据经过加密,可以避免被他人窥视。
  • 完整性:确保数据在传输过程中未被篡改。
  • 身份验证:验证客户端和服务器双方的身份。

SSH 是远程管理的行业标准。

SSH:客户端—服务器模型

SSH 采用客户端—服务器模型。您作为用户,会在本地计算机上运行一个 SSH 客户端。该客户端连接到运行在远程计算机上的 SSH 服务器(通常称为 `sshd`)。

当您发起连接时,客户端和服务器会执行“握手”,在交换任何数据之前建立安全的加密通道。

基本 SSH 连接命令

通过 SSH 连接远程服务器的最基本方式,是使用 ssh 命令,后面跟上用户名和主机(IP 地址或主机名)。

格式为 ssh username@hostname_or_IP。例如,以用户 coddy 的身份连接到地址为 192.168.1.100 的服务器:

ssh coddy@192.168.1.100

首次连接与指纹

您首次连接到新服务器时,SSH 会要求您验证服务器的“指纹”。这是一个唯一标识符,有助于防止“中间人”攻击。

如果可以,请务必验证指纹(例如向服务器管理员确认)。如果指纹匹配,请输入 yes,将服务器添加到 ~/.ssh/known_hosts 文件中。

SSH 端口与自定义端口

默认情况下,SSH 使用 TCP 22 端口。不过,出于安全原因,服务器管理员经常会将 SSH 配置为监听其他非标准端口。

如果远程服务器使用自定义端口(例如 2222 端口),您可以使用 -p 选项指定该端口:

ssh -p 2222 coddy@myremoteserver.com

介绍基于密钥的身份验证

虽然密码身份验证可以正常工作,但基于 SSH 密钥的身份验证更加安全便捷。它使用一对加密密钥:

  • 公钥:存储在远程服务器上。
  • 私钥:安全地存储在本地计算机上。

连接时,服务器会向您的客户端发起挑战,客户端使用私钥证明自己的身份,而不会将私钥通过网络发送出去。

生成 SSH 密钥对

您可以使用 ssh-keygen 命令生成 SSH 密钥对。该命令会提示您选择保存密钥的位置(默认为 ~/.ssh/id_rsa),并询问是否设置可选的密码短语。

密码短语可以为您的私钥增加额外的安全保护。强烈建议您设置密码短语!

ssh-keygen -t rsa -b 4096

复制您的公钥

拥有密钥对后,您需要将公钥复制到远程服务器。最简单的方法是使用 ssh-copy-id。该命令会先使用您的密码登录远程服务器,然后将公钥添加到 ~/.ssh/authorized_keys 文件中。

完成后,您就可以使用密钥而不是密码进行连接了!

ssh-copy-id coddy@myremoteserver.com

快速检查:SSH 基础知识

以下关于 SSH 的说法哪些是正确的?

回顾:SSH 基础知识

在本课中,您已经学习了安全 Shell(SSH)的基础知识!

  • SSH 提供安全的加密远程访问。
  • 它采用客户端—服务器模型,通常使用 22 端口。
  • 您可以使用 ssh user@host 进行连接。
  • 使用公钥/私钥对进行基于密钥的身份验证(使用 ssh-keygen 生成,并使用 ssh-copy-id 复制),其安全性优于密码。

接下来,我们将探索更强大的网络命令和文件传输工具!

常见问题解答

「安全 Shell(SSH)基础」课时是免费的吗?

是的 — 「安全 Shell(SSH)基础」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 DevOps Bootcamp 课程的其余内容,请升级到 CoddyKit PRO。 DevOps Bootcamp 课程共包含 4 节课。

「安全 Shell(SSH)基础」这节课中我会学到什么?

学习如何安全连接到远程 Linux 计算机,包括基于密钥的身份验证和基本 SSH 客户端配置。 你通过在浏览器中直接运行的动手代码来练习 DevOps Bootcamp,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 DevOps Bootcamp 需要有经验吗?

无需任何先前经验。CoddyKit 上的 DevOps Bootcamp 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 2 节课,共 4 节。

「安全 Shell(SSH)基础」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 DevOps Bootcamp 课中编写并运行代码吗?

能。每节 DevOps Bootcamp 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 基础网络工具(ping、ip、netstat)
  2. 安全 Shell(SSH)基础
  3. 使用 SCP 和 Rsync 传输文件
  4. SSH 密钥认证与配置文件
← 返回 DevOps Bootcamp