在 Ubuntu 中配置 SSH 的完整指南

如今,SSH 已成为访问远程 Linux 服务器的默认方法。

SSH 代表 Secure Shell,它是一种强大、高效且流行的网络协议,用于以远程方式在两台计算机之间建立通信。 让我们不要忘记其名称的安全部分; SSH 加密所有流量以防止诸如劫持和窃听等攻击,同时提供不同的身份验证方法和无数的配置选项。

在本初学者指南中,您将了解:

  • SSH的基本概念
  • 设置 SSH 服务器(在您要远程访问的系统上)
  • 从客户端机器(您的个人计算机)通过 SSH 连接到远程服务器

SSH 的绝对基础

在您看到任何配置过程之前,最好先了解一下 SSH 的绝对基本概念。

SSH 协议基于服务器-客户端架构。 “服务器”允许通过通信通道连接“客户端”。 该通道是加密的,交换是通过使用公共和私人 SSH 密钥来管理的。

开放式SSH 是最流行的开源工具之一,可在 Linux、BSD 和 Windows 上提供 SSH 功能。

要成功设置 SSH,您需要:

  • 在充当服务器的机器上安装 SSH 服务器组件。 这是由 openssh-服务器 包裹。
  • 在要连接到远程服务器机器的机器上安装 SSH 客户端组件。 这是由 openssh-客户端 包,大多数 Linux 和 BSD 发行版都预装了它。

区分服务器和客户端很重要。 您可能不希望您的个人计算机充当 SSH 服务器,除非您有充分的理由希望其他人通过 SSH 连接到您的系统。

通常,您有一个专用系统作为服务器。 例如,运行 Ubuntu 服务器的 Raspberry Pi。 您可以在 Raspberry Pi 上启用 SSH,以便您可以在终端中使用 SSH 从您的主个人计算机控制和管理设备。

有了这些信息,让我们看看如何在 Ubuntu 上设置 SSH 服务器。

在 Ubuntu 上配置 SSH 服务器

设置 SSH 并不复杂,只需几个步骤即可完成。

先决条件

  • 一个用户 sudo 服务器机器上的特权
  • 互联网连接以下载所需的软件包
  • 至少是您网络中的另一个系统。 它可以是 LAN 上的另一台计算机、通过 Internet 的远程服务器或托管在您计算机中的虚拟机。

同样,SSH 服务器安装应该在您想要充当服务器并且想要通过 SSH 远程连接到的系统上完成。

第 1 步:安装所需的软件包

让我们首先打开一个终端窗口来输入必要的命令。

请记住在安装新软件包或软件之前更新您的 Ubuntu 系统,以确保您运行的是最新版本。

 sudo apt update && sudo apt upgrade 

运行 SSH Server 所需的包由 OpenSSH 的 openssh-server 组件提供:

sudo apt install openssh-server

第二步:查看服务器状态

一旦包的下载和安装完成,SSH 服务应该已经在运行,但为了确保我们将检查它:

service ssh status

您也可以使用 systemd 命令:

sudo systemctl status ssh

您应该会看到类似这样的内容,其中突出显示了 Active 一词。 打 q 返回命令提示符。

如果在您的情况下服务没有运行,您将必须像这样激活:

sudo systemctl enable --now ssh

第 3 步:允许 SSH 通过防火墙

Ubuntu 带有一个名为 UFW(UncomplicatedFirewall)的防火墙实用程序,它是一个用于 iptables 反过来管理网络的规则。 如果防火墙处于活动状态,它可能会阻止连接到您的 SSH 服务器。

要配置 UFW 以允许所需的访问,您需要运行以下命令:

sudo ufw allow ssh

可以检查UFW的状态运行 sudo ufw status.

此时我们的 SSH 服务器已经启动并运行,只是在等待来自客户端的连接。

从本地机器连接到远程系统

您的本地 Linux 系统应该已经安装了 SSH 客户端。 如果没有,您可以始终在 Ubuntu 上使用以下命令安装它:

sudo apt install openssh-client

要连接到您的 Ubuntu 系统,您需要知道计算机的 IP 地址并使用 ssh 命令,像这样:

ssh [email protected] 

改变 用户名 给您在系统中的实际用户和 地址 到您的 Ubuntu 机器的 IP 地址。

如果您不知道计算机的 IP 地址,可以键入 ip a 在服务器的终端中并检查输出。 你应该有这样的事情:

使用“ip a”查找IP地址

从这里可以看出我的 IP 地址是 192.168.1.111. 让我们尝试使用连接 [email protected] 格式。

ssh [email protected]

第一次连接到 SSH 服务器时,它会要求添加主机的权限。 类型 yes 并击中 Enter 接着说。

第一次连接服务器

SSH 立即告诉您该主机已被永久添加,然后询问分配给用户名的密码。 输入密码并点击 Enter 再一次。

SSH 要求输入密码主机已添加,现在输入密码

瞧! 您将远程登录到您的 Ubuntu 系统!

用SSH连接连接的!

现在您可以像往常一样在远程系统的终端中工作。

关闭 SSH 连接

到 close 您只需要输入的连接 exit 它会 close 立即,无需确认。

用 exit 关闭连接用“exit”关闭连接

在 Ubuntu 中停止和禁用 SSH

如果你想停止 SSH 服务,你需要这个命令:

sudo systemctl stop ssh

这将停止服务,直到您重新启动它或直到系统重新启动。 要重新启动它,请键入:

sudo systemctl start ssh

现在,如果您想在系统引导期间禁止它启动,请使用以下命令:

sudo systemctl disable ssh

这不会阻止服务在当前会话期间运行,只是在启动期间加载。 如果要让它在系统引导期间再次启动,请键入:

sudo systemctl enable ssh

其他 SSH 客户端

工具 ssh 从 Linux 到 macOS,大多数 *nix 系统中都包含 ,但这些并不是唯一存在的选项,以下是一些可以从其他操作系统使用的客户端:

  • 油灰 是一个免费的 Windows SSH 客户端,它是开源的。 它功能齐全,非常易于使用。 如果您从 Windows 工作站连接到您的 Ubuntu 机器,PuTTY 是一个不错的选择。
  • 果汁SSH 是 Android 用户的绝佳工具。 如果您在旅途中需要移动客户端来连接到您的 Ubuntu 系统,我强烈建议您尝试使用 JuiceSSH。 它已经存在了将近 10 年,并且可以免费使用。
  • 最后, 特米乌斯 适用于 Linux、Windows、macOS、iOS 和 Android。 它有一个免费版本和几个高级选项。 如果您运行大量服务器并与共享连接的团队合作,那么 Termius 是您的不错选择。

包起来

通过这些说明,您可以在我们的 Ubuntu 系统中将 SSH 设置为服务器服务,以便能够安全地远程连接到您的计算机,以便使用命令行并执行任何所需的任务。

我们的另一个网站 Linux Handbook 上有各种关于 SSH 的信息文章。 从这里,我建议阅读以下内容:

如果你觉得压倒性的, Linux 手册有一个高级视频课程,为初学者解释 SSH 以及要遵循的动手实验室。 这将为您提供有关该主题的更精简的知识。

远程办公快乐!