如何在 Ubuntu 上启用 SSH(适用于 20.04、22.04)?

本文涉及的产品
云防火墙,500元 1000GB
简介: 【4月更文挑战第17天】

SSH(Secure Shell)是一种网络协议,用于在不安全的网络中安全地进行远程访问和文件传输。它通过加密技术,确保通信的安全性,使得用户可以在不同的计算机之间安全地传输数据和执行命令。SSH 在 Linux 系统中被广泛使用,特别是在 Ubuntu 这样的开源操作系统中。

SSH 通过使用加密技术来保护通信的安全性。当用户连接到远程服务器时,SSH 会建立一个加密的隧道,所有的数据传输都会在这个隧道中进行加密和解密。这种加密方式可以防止黑客监听或篡改通信内容,确保数据的机密性和完整性。

SSH 还提供了身份验证机制,以确保只有授权用户可以访问远程服务器。用户可以使用密码、密钥对等方式进行身份验证,以证明自己的身份。

SSH 的基本概念

在使用 SSH 时,有几个基本概念是需要了解的:

  • 客户端(Client):指连接到远程服务器的计算机,通常是用户自己的计算机。
  • 服务器(Server):指远程主机,用户希望远程访问的计算机。
  • 会话(Session):指客户端与服务器之间建立的连接,用户可以在会话中执行命令、传输文件等操作。
  • 端口(Port):指网络通信中的一个逻辑连接点,SSH 默认使用 22 端口进行通信。
  • 密钥对(Key Pair):指由公钥和私钥组成的一对密钥,用于加密和解密通信内容以及进行身份验证。

SSH 的版本

SSH 有几个不同的版本,其中最常见的是 SSH-1 和 SSH-2。SSH-1 是较早的版本,存在一些安全漏洞和性能问题,已经逐渐被淘汰。SSH-2 是当前广泛使用的版本,它修复了 SSH-1 中的一些安全问题,并提供了更强大的加密算法和身份验证机制。

在 Ubuntu 20.04 和 22.04 版本中,默认安装的是 OpenSSH 包,它支持 SSH-2 协议,并提供了一套完整的 SSH 客户端和服务器工具。

安装SSH服务器

在 Ubuntu 上安装 SSH 服务器非常简单。

步骤 1:更新软件包列表

在安装任何软件之前,最好先更新一下系统的软件包列表,以确保安装的软件是最新的版本。打开终端,执行以下命令:

sudo apt update

步骤 2:安装 OpenSSH 服务器

在 Ubuntu 中,OpenSSH 是最常见的 SSH 服务器实现。您可以使用以下命令安装 OpenSSH 服务器:

sudo apt install openssh-server

系统会提示您输入密码以确认安装,输入密码后按下 Enter 键继续。

步骤 3:检查 SSH 服务器状态

安装完成后,SSH 服务器会自动启动。您可以使用以下命令检查 SSH 服务器的状态:

sudo systemctl status ssh

如果 SSH 服务器正在运行,您将看到类似如下的输出:

● ssh.service - OpenBSD Secure Shell server
     Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2022-04-09 14:30:00 UTC; 1min 30s ago
       Docs: man:sshd(8)
             man:sshd_config(5)
    Process: 12345 ExecStartPre=/usr/sbin/sshd -t (code=exited, status=0/SUCCESS)
   Main PID: 12346 (sshd)
      Tasks: 1 (limit: 4567)
     Memory: 2.2M
        CPU: 50ms
     CGroup: /system.slice/ssh.service
             └─12346 /usr/sbin/sshd -D

Apr 09 14:30:00 ubuntu systemd[1]: Starting OpenBSD Secure Shell server...
Apr 09 14:30:00 ubuntu sshd[12346]: Server listening on 0.0.0.0 port 22.
Apr 09 14:30:00 ubuntu sshd[12346]: Server listening on :: port 22.
Apr 09 14:30:00 ubuntu systemd[1]: Started OpenBSD Secure Shell server.

您可以看到 Active: active (running),表示 SSH 服务器正在运行。

步骤 4:配置 SSH 服务器(可选)

默认情况下,OpenSSH 服务器的配置文件位于 /etc/ssh/sshd_config。您可以根据需要修改此文件来进行自定义配置。例如,您可以更改 SSH 服务器的监听端口、允许或禁止密码登录、限制登录用户等。

允许 SSH 通过防火墙

在 Ubuntu 中允许 SSH 通过防火墙(通常是 ufw,即 Uncomplicated Firewall)非常重要,以确保远程访问的安全性。

步骤 1:检查防火墙状态

首先,您需要检查系统上的防火墙是否已启用,并了解其当前配置。在终端中执行以下命令:

sudo ufw status

如果防火墙已经启用,您会看到类似以下的输出:

Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere

如果防火墙尚未启用,您会看到输出 Status: inactive,表明防火墙当前处于禁用状态。

步骤 2:允许 SSH 通过防火墙

如果防火墙已启用但未允许 SSH 通过,则需要执行以下命令来添加 SSH 规则:

sudo ufw allow OpenSSH

这将在防火墙规则中添加一个允许 SSH 服务通过的条目。

步骤 3:启用防火墙(如果尚未启用)

如果防火墙尚未启用,您需要执行以下命令来启用防火墙:

sudo ufw enable

您将收到一个提示,询问是否继续启用防火墙。输入 y 并按下 Enter 键继续。

步骤 4:验证防火墙规则

最后,您可以再次运行 sudo ufw status 命令来验证 SSH 是否已成功添加到防火墙规则中。如果一切正常,您应该会看到类似以下的输出:

Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere

这表示防火墙已成功配置为允许 SSH 服务通过。

测试 SSH 连接

要测试 SSH 连接,您可以使用 SSH 客户端尝试连接到您的 Ubuntu 服务器。

步骤 1:获取服务器 IP 地址

首先,您需要获取您的 Ubuntu 服务器的 IP 地址。您可以在终端中运行以下命令来查看:

ip addr show | grep inet

这将列出所有网络接口的 IP 地址。找到您的服务器的 IP 地址并记下来。

步骤 2:使用 SSH 客户端连接到服务器

在您的本地计算机上打开终端,并执行以下命令来连接到您的 Ubuntu 服务器:

ssh username@server_ip_address

在这个命令中,将 username 替换为您在服务器上的用户名,server_ip_address 替换为您在步骤 1 中找到的服务器 IP 地址。

例如,如果您的用户名是 user,服务器的 IP 地址是 192.168.1.100,则命令如下:

ssh user@192.168.1.100

步骤 3:输入密码(如果需要)

如果这是您第一次连接到服务器,系统可能会要求您输入密码。输入您的密码并按下 Enter 键。

如果您首次连接到服务器并成功验证身份,系统可能会显示一条消息询问您是否愿意继续连接。输入 yes 并按下 Enter 键。

步骤 4:验证连接

如果一切正常,您应该会看到类似以下的输出,表示您已成功连接到服务器:

Welcome to Ubuntu 20.04.1 LTS (GNU/Linux 5.4.0-42-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

...

这意味着您已经成功通过 SSH 连接到您的 Ubuntu 服务器。

目录
相关文章
|
Web App开发 存储 Linux
Linux(33)Rockchip RK3568 Ubuntu22.04上通过SSH运行Qt程序和关闭Chrome的密钥提示
Linux(33)Rockchip RK3568 Ubuntu22.04上通过SSH运行Qt程序和关闭Chrome的密钥提示
1099 0
|
12天前
|
Ubuntu 网络安全 数据安全/隐私保护
搭建SSH服务于RK3399平台上的Ubuntu 18.04,实现远程连接
以上步骤涵盖从安 装 到配制再至实际使 用户建立Ssh 连接所需知识点 。务必注意,在对外提供Ssh 访问
52 2
|
5月前
|
Ubuntu Linux 网络安全
Ubuntu Docker镜像:支持systemctl、SSH、VNC
总的来说,创建一个支持systemctl、SSH和VNC的Ubuntu Docker镜像需要一些技术知识,但是通过学习和实践,我们可以掌握这些技术。这将使我们能够更有效地使用Docker,更好地管理我们的应用程序和服务。CentOS系统中的日志文件位置和管理
185 17
|
5月前
|
Ubuntu 安全 网络安全
Docker镜像:Ubuntu支持systemctl、SSH和VNC
总的来说,Docker提供了一个灵活且强大的方式来创建和运行自定义的Ubuntu镜像。通过理解和使用Dockerfile,你可以轻松地创建一个支持systemctl、SSH和VNC的Ubuntu镜像。
361 21
|
6月前
|
监控 安全 Ubuntu
Ubuntu(22.04)云主机SSH安全加固
通过上述步骤,你可以有效地加固Ubuntu 22.04云主机的SSH安全性。这些措施不仅能防止常见的攻击,还能提升整体服务器的安全性和稳定性。建议在实施这些安全加固措施后,定期检查系统日志和更新安全策略,以应对不断变化的安全威胁。
348 14
|
Ubuntu Shell 网络安全
安装了ubuntu虚拟机后发现shell无法连接 ubuntu开启ssh连接
【8月更文挑战第23天】安装了ubuntu虚拟机后发现shell无法连接
1105 6
|
Ubuntu 网络安全 数据安全/隐私保护
如何在 Ubuntu 上创建一个 SSH CA 以验证主机和客户端
如何在 Ubuntu 上创建一个 SSH CA 以验证主机和客户端
241 0
|
9月前
|
监控 Ubuntu 安全
debian或Ubuntu中开启ssh允许root远程ssh登录的方法
在Debian或Ubuntu系统中启用root用户的SSH远程登录需要编辑SSH配置文件、设置root密码并重启SSH服务。虽然这可以在某些情况下提供便利,但必须注意安全性,通过使用强密码、限制IP访问、使用SSH密钥认证等方法来保护服务器的安全。
3951 5
|
11月前
|
网络安全
Ubuntu14.04安装ssh服务器
Ubuntu14.04安装ssh服务器
147 0
|
监控 Ubuntu 安全