如何在 Ubuntu 24.04 LTS 上安装 SSH 服务器?

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

Ubuntu是一个基于Debian的开源Linux操作系统,由Canonical Ltd.开发和维护。Ubuntu致力于提供用户友好、稳定且安全的操作系统环境,适用于个人用户、企业和服务器等不同场景。

Ubuntu 24.04 LTS是Ubuntu发布的一个长期支持版本,LTS代表长期支持(Long Term Support)。这意味着Ubuntu 24.04 LTS将获得长达5年的安全更新和维护支持,使其成为企业和个人用户的理想选择。

本文给大家介绍一下如何在 Ubuntu 24.04 LTS 上安装 SSH 服务器。

安装 SSH 服务器软件包

在终端中,输入以下命令以安装SSH服务器软件包:

sudo apt update
sudo apt install openssh-server

您需要输入管理员密码来确认安装过程。

启动 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 Thu 2024-05-12 12:00:00 UTC; 1h ago
 Main PID: 12345 (sshd)
    Tasks: 1 (limit: 2345)
   CGroup: /system.slice/ssh.service
           └─12345 /usr/sbin/sshd -D

配置防火墙

如果您的系统启用了防火墙(例如ufw),您可能需要打开SSH端口(默认为22)以允许远程连接。您可以使用以下命令打开SSH端口:

sudo ufw allow ssh

连接到 SSH 服务器

现在,您可以使用SSH客户端连接到您的Ubuntu服务器。在另一台计算机上,打开终端并输入以下命令:

ssh username@server_ip_address

将“username”替换为您在Ubuntu上创建的用户名,“server_ip_address”替换为您Ubuntu服务器的IP地址。您将被要求输入密码,成功登录后即可在终端中远程管理您的Ubuntu服务器。

配置和保护 SSH 服务器

一旦安装了SSH服务器,您需要进行一些配置和安全性设置,以确保服务器的安全性并为远程访问提供便利性。

修改 SSH 默认端口

默认情况下,SSH服务器使用端口22。为增加安全性,建议您将SSH端口修改为其他非标准端口。编辑SSH配置文件:

sudo nano /etc/ssh/sshd_config

找到“Port”行,并将端口号修改为您喜欢的任何数字(确保端口未被其他服务使用)。

Port 2222

保存并退出文件,然后重新加载SSH服务:

sudo systemctl reload ssh

禁用 root 登录

禁止root用户直接登录SSH是一种增加安全性的好方法。在SSH配置文件中,找到并修改以下行:

PermitRootLogin no

确保此行不是被注释掉的。然后重新加载SSH服务。

使用 SSH 密钥认证

SSH密钥认证比基于密码的认证更安全。首先,生成SSH密钥对:

ssh-keygen -t rsa

按照提示完成密钥生成过程。然后将公钥复制到服务器上:

ssh-copy-id username@server_ip_address

输入密码,将公钥添加到服务器的授权密钥列表中。现在您可以使用密钥对进行SSH登录,而无需密码。

配置防火墙

使用防火墙来限制SSH访问只允许来自特定IP地址的连接。例如,只允许来自您的工作站的SSH连接:

sudo ufw allow from your_workstation_ip_address to any port 2222

确保您已经修改了SSH端口,否则请将上述命令中的端口号替换为正确的端口号。

安装 Fail2ban

Fail2ban是一个防止恶意登录尝试的工具,可以自动禁止IP地址。安装Fail2ban:

sudo apt install fail2ban

默认情况下,Fail2ban配置文件包含SSH配置。您可以通过编辑 /etc/fail2ban/jail.local 文件来调整设置。

定期更新系统和软件包

保持系统和软件包更新是保持服务器安全的关键。定期运行以下命令来更新系统:

sudo apt update
sudo apt upgrade

启用登录审计

启用登录审计功能可以帮助您监控谁何时登录了服务器。您可以查看 /var/log/auth.log 文件来查看登录活动。

目录
相关文章
|
1月前
|
并行计算 PyTorch TensorFlow
Ubuntu安装笔记(一):安装显卡驱动、cuda/cudnn、Anaconda、Pytorch、Tensorflow、Opencv、Visdom、FFMPEG、卸载一些不必要的预装软件
这篇文章是关于如何在Ubuntu操作系统上安装显卡驱动、CUDA、CUDNN、Anaconda、PyTorch、TensorFlow、OpenCV、FFMPEG以及卸载不必要的预装软件的详细指南。
3259 3
|
7天前
|
Ubuntu 开发工具 git
Ubuntu安装homebrew的完整教程
本文介绍了如何在没有公网的情况下安装 Homebrew。首先访问 Homebrew 官网,然后通过阿里云的镜像克隆安装脚本,并创建普通用户进行安装。接着修改 `install.sh` 文件指向国内镜像,执行安装命令。最后配置环境变量并更换 Homebrew 源为国内镜像,确保安装顺利。
94 50
|
25天前
|
监控 Java Linux
Linux系统之安装Ward服务器监控工具
【10月更文挑战第17天】Linux系统之安装Ward服务器监控工具
49 5
Linux系统之安装Ward服务器监控工具
|
29天前
|
Ubuntu Linux 测试技术
Linux系统之Ubuntu安装cockpit管理工具
【10月更文挑战第13天】Linux系统之Ubuntu安装cockpit管理工具
107 4
Linux系统之Ubuntu安装cockpit管理工具
|
10天前
|
监控 Ubuntu Linux
使用VSCode通过SSH远程登录阿里云Linux服务器异常崩溃
通过 VSCode 的 Remote - SSH 插件远程连接阿里云 Ubuntu 22 服务器时,会因高 CPU 使用率导致连接断开。经排查发现,VSCode 连接根目录 ".." 时会频繁调用"rg"(ripgrep)进行文件搜索,导致 CPU 负载过高。解决方法是将连接目录改为"root"(或其他具体的路径),避免不必要的文件检索,从而恢复正常连接。
|
1月前
|
Ubuntu 应用服务中间件 nginx
Ubuntu安装笔记(三):ffmpeg(3.2.16)源码编译opencv(3.4.0)
本文是关于Ubuntu系统中使用ffmpeg 3.2.16源码编译OpenCV 3.4.0的安装笔记,包括安装ffmpeg、编译OpenCV、卸载OpenCV以及常见报错处理。
139 2
Ubuntu安装笔记(三):ffmpeg(3.2.16)源码编译opencv(3.4.0)
|
1月前
|
Ubuntu Linux C语言
Ubuntu安装笔记(二):ubuntu18.04编译安装opencv 3.4.0 opencv_contrib3.4.0
本文介绍了在Ubuntu 18.04系统上编译安装OpenCV 3.4.0及其扩展包opencv_contrib 3.4.0的详细步骤,包括下载源码、安装依赖、配置CMake和编译安装,以及常见问题的解决方法。
83 1
Ubuntu安装笔记(二):ubuntu18.04编译安装opencv 3.4.0 opencv_contrib3.4.0
|
3天前
|
Ubuntu Java
Ubuntu之jdk安装
以下是Ubuntu之jdk安装的详细内容
10 0
|
30天前
|
Kubernetes Ubuntu Docker
从0开始搞K8S:使用Ubuntu进行安装(环境安装)
通过上述步骤,你已经在Ubuntu上成功搭建了一个基本的Kubernetes单节点集群。这只是开始,Kubernetes的世界广阔且深邃,接下来你可以尝试部署应用、了解Kubernetes的高级概念如Services、Deployments、Ingress等,以及探索如何利用Helm等工具进行应用管理,逐步提升你的Kubernetes技能树。记住,实践是最好的老师,不断实验与学习,你将逐渐掌握这一强大的容器编排技术。
113 1
|
1月前
|
网络安全 虚拟化 Docker
SSH后判断当前服务器是云主机、物理机、虚拟机、docker环境
结合上述方法,您可以对当前环境进行较为准确的判断。重要的是理解每种环境的特征,并通过系统的响应进行综合分析。如果在Docker容器内,通常会有明显的环境标志和受限的资源视图;而在云主机或虚拟机上,虽然它们也可能是虚拟化的,但通常提供更接近物理机的体验,且可通过硬件标识来识别虚拟化平台。物理机则直接反映硬件真实信息,较少有虚拟化痕迹。通过这些线索,您应该能够定位到您所处的环境类型。
27 2