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

本文涉及的产品
云防火墙,500元 1000GB
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: 【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 服务器。

目录
相关文章
|
6月前
|
Web App开发 存储 Linux
Linux(33)Rockchip RK3568 Ubuntu22.04上通过SSH运行Qt程序和关闭Chrome的密钥提示
Linux(33)Rockchip RK3568 Ubuntu22.04上通过SSH运行Qt程序和关闭Chrome的密钥提示
442 0
|
6月前
|
Ubuntu 安全 网络安全
百度搜索:蓝易云【Ubuntu系统SSH服务端配置】
现在,你已经成功在Ubuntu系统上配置了SSH服务端。这将允许其他计算机通过SSH协议连接到你的Ubuntu系统,并进行远程管理和操作。请注意,远程访问有安全风险,建议在生产环境中采取必要的安全措施来保护系统。
75 3
|
6月前
|
Ubuntu 网络协议 网络安全
如何在外SSH远程连接Ubuntu系统【无公网IP】
如何在外SSH远程连接Ubuntu系统【无公网IP】
168 0
|
3月前
|
Ubuntu Shell 网络安全
安装了ubuntu虚拟机后发现shell无法连接 ubuntu开启ssh连接
【8月更文挑战第23天】安装了ubuntu虚拟机后发现shell无法连接
272 6
|
3月前
|
Ubuntu 网络安全 数据安全/隐私保护
如何在 Ubuntu 上创建一个 SSH CA 以验证主机和客户端
如何在 Ubuntu 上创建一个 SSH CA 以验证主机和客户端
77 0
|
1月前
|
网络安全
Ubuntu14.04安装ssh服务器
Ubuntu14.04安装ssh服务器
50 0
|
4月前
|
监控 Ubuntu 安全
|
3月前
|
Ubuntu Shell 网络安全
【Ubuntu】配置SSH
【Ubuntu】配置SSH
84 0
|
3月前
|
Ubuntu 机器人 网络安全
ubuntu22.04 SSH和ROS2控制下位机
本文介绍了如何在Ubuntu 22.04系统中通过SSH远程控制机器人服务器,包括安装SSH服务、配置防火墙规则、修改`/etc/hosts`文件、使用密钥认证等步骤,并提供了使用ROS2控制下位机的方法和一些常用指令。
81 0
|
5月前
|
Ubuntu Linux 网络安全
ubuntu linux 搭建 webssh 网页ssh远程登录其他服务器
ubuntu linux 搭建 webssh 网页ssh远程登录其他服务器
117 0