Ubuntu 22.04/20.04 安装 SSH

OpenSSH 是安全远程通信的重要工具,提供了一种安全的方式来访问和管理服务器。对于那些计划在 Ubuntu 22.04 Jammy Jellyfish 或其较旧的稳定版本的 Ubuntu 20.04 Focal Fossa 上安装 SSH 并启用它的人来说,了解其功能和优势至关重要。

OpenSSH的主要特点

  • 安全通信:通过强大的加密功能,OpenSSH 确保主机之间传输的数据是安全的,并防止未经授权的访问。
  • 远程服务器管理:OpenSSH 允许用户远程有效地管理服务器,从而简化启动和停止服务、修改配置和故障排除等任务。
  • **多面性:**使用 OpenSSH,用户可以访问远程计算机、安全地传输文件以及出于各种目的的隧道流量。它的灵活性使定制能够满足特定需求。
  • 开源:作为一个免费的开源应用程序,OpenSSH可供所有人访问,为昂贵的商业选择提供了可靠的替代方案。

凭借这些功能,OpenSSH 是用于远程服务器访问和管理的可靠且安全的工具,使其成为 Ubuntu 用户的首选。以下指南将引导您在 Ubuntu 22.04 Jammy Jellyfish 或 Ubuntu 20.04 Focal Fossa 上安装和启用 SSH,并附有增强安全性的配置提示。

在 Ubuntu 上安装 SSH 22.04 或 20.04 通过 APT

在安装 SSH 之前更新 Ubuntu

首先,使用以下命令更新软件包列表并升级现有软件包,以避免系统上出现任何冲突。

language-bash 复制代码
sudo apt update && sudo apt upgrade

接下来,通过运行以下命令安装 OpenSSH:

language-bash 复制代码
sudo apt install openssh-server

要检查 Ubuntu 系统上安装的 OpenSSH 服务器的版本,您可以在终端中使用以下命令:

language-bash 复制代码
ssh -V

在 Ubuntu 22.04/20.04 上配置 SSH

安装 OpenSSH 后,对其进行配置以满足您的需求。默认配置适合大多数用户,但如有必要,请编辑 /etc/ssh/sshd_config 文件以调整设置。

尽管 OpenSSH 默认使用安全加密和身份验证,但请考虑采取其他步骤来进一步增强安全性。

更改 Ubuntu 上的 OpenSSH 端口

更改默认的 OpenSSH 端口是防止未经授权访问您的 Ubuntu 计算机的有效方法。限制登录尝试次数和禁用 root 登录可以进一步增强安全性。

要更改默认的 OpenSSH 端口,请编辑 /etc/ssh/sshd_config 配置文件。请使用文本编辑器打开文件:

language-bash 复制代码
sudo vim /etc/ssh/sshd_config

在配置文件中,找到"端口"选项,并将端口号修改为所需的端口号。例如,若要将端口更改为 2222,请添加以下行:

language-bash 复制代码
Port 2222

保存文件并退出编辑器。若要应用更改,请使用以下命令重新启动 OpenSSH 服务:

language-bash 复制代码
sudo systemctl restart sshd

在 Ubuntu 上使用 SSH 限制登录尝试

接下来,您可以限制 OpenSSH 允许的登录尝试次数。这有助于防止暴力攻击。为此,请再次编辑 /etc/ssh/sshd_config 文件:

language-bash 复制代码
sudo vim /etc/ssh/sshd_config

找到 MaxAuthTries 选项,并将该值修改为所需的数字。例如,若要将允许的最大登录尝试次数设置为 3,请添加以下行:

language-bash 复制代码
MaxAuthTries 3

保存文件并退出编辑器。若要应用更改,请使用以下命令重新启动 OpenSSH 服务:

language-bash 复制代码
sudo systemctl restart sshd

在 Ubuntu 上禁用 SSH Root 登录

以下推荐的安全配置是禁用 OpenSSH 的 root 登录。这有助于防止攻击者获得对 Ubuntu 计算机的 root 访问权限。再次编辑 /etc/ssh/sshd_config 文件:

language-bash 复制代码
sudo vim /etc/ssh/sshd_config

找到 PermitRootLogin 选项,并将值更改为 no。例如:

language-bash 复制代码
PermitRootLogin no

保存文件并退出编辑器。若要应用更改,请使用以下命令重新启动 OpenSSH 服务:

这些配置更改将有助于保护您的 Ubuntu 计算机并防止未经授权的访问。

在 Ubuntu 上使用 UFW 规则锁定 SSH

Ubuntu 防火墙 (UFW) 是一个前端工具,可简化 Ubuntu 计算机防火墙的管理。UFW 通过将传入连接限制为仅到必要的端口和 IP 地址,从而进一步加强 OpenSSH 安全性。尽管 Ubuntu 通常默认包含 UFW(简单防火墙),但如果系统上还没有它,您可能需要安装它。您可以使用下面提供的命令执行此操作:

language-bash 复制代码
sudo apt install ufw

安装后,可以通过运行以下命令,使用 UFW 允许 OpenSSH 端口(默认为 22)上的传入连接:

language-bash 复制代码
sudo ufw allow ssh

如果更改了默认的 OpenSSH 端口,则必须改为允许新端口上的传入连接。例如,如果将端口更改为 2222,请改用以下命令:

language-bash 复制代码
sudo ufw allow 2222/tcp

然后,您可以使用以下命令检查 UFW 状态:

默认情况下,UFW 应拒绝所有其他传入连接。但是,您可以通过指定允许访问 Ubuntu 计算机的 IP 地址或 IP 地址范围来限制与 OpenSSH 的传入连接。

例如,如果只想允许来自特定 IP 地址的传入连接,请使用以下命令:

language-bash 复制代码
sudo ufw allow from 203.0.113.0 to any port 22

将 203.0.113.0 替换为要允许的 IP 地址。

在 Ubuntu 22.04/20.04 上通过 SSH 连接到远程服务器

在 Ubuntu 上通过 SSH 建立连接

以下是有关如何使用不同的身份验证方法和端口进行连接的步骤。

language-bash 复制代码
ssh username@remote_server

将"username"替换为您帐户的用户名,将"remote_server"替换为所需服务器的主机名或 IP 地址。当您启动命令时,系统将提示您输入密码以进行身份验证并成功建立连接。

使用公钥身份验证进行连接

为了提高安全性,SSH 支持使用公钥身份验证进行连接。这种方法避免了传统的密码输入,需要私钥来验证您的身份。要使用公钥身份验证,请执行:

language-bash 复制代码
ssh -i /path/to/private_key username@remote_server

在此命令结构中,应替换为私钥文件的实际路径,而 和 需要分别替换为您的用户名和远程服务器的 IP 地址或主机名。/path/to/private_key``username``remote_server

指定连接端口

SSH 传统上使用端口 22 进行连接,但某些服务器可能使用不同的端口。要通过备用端口进行连接,请输入:

language-bash 复制代码
ssh -p PORT_NUMBER username@remote_server

确保替换为远程服务器侦听传入 SSH 连接的实际端口号。PORT_NUMBER

language-bash 复制代码
scp /path/to/local/file username@remote_server:/path/to/remote/directory

此命令需要修改,以反映本地系统和远程服务器上的实际文件和目录路径,以及正确的 usernameremote_server

其他常用 SSH 命令

对于日常操作,您可能会发现以下 SSH 命令很方便:

要将目录及其内容复制到远程服务器,请执行以下操作:

language-bash 复制代码
scp -r /path/to/local/directory username@remote_server:/path/to/remote/directory

在远程服务器上运行命令:

language-bash 复制代码
ssh username@remote_server 'command_to_run'

对 Ubuntu 22.04/20.04 上的 SSH 故障排查

如果您在 Ubuntu 计算机上遇到任何 OpenSSH 问题,以下是一些标准的故障排除步骤:

通过运行以下命令,检查 OpenSSH 日志中是否有任何错误消息:

language-bash 复制代码
sudo tail -f /var/log/auth.log

通过运行以下命令检查 OpenSSH 服务的状态:

language-bash 复制代码
sudo systemctl status sshd

查看时,请检查常见错误,例如不正确的防火墙配置阻止传入的 OpenSSH 端口连接。此外,请确保 OpenSSH 服务用户对服务具有正确的权限和访问权限。

Systemd 命令输出演示了 OpenSSH 在 Ubuntu 22.04 或 20.04 上的活动和运行状态

结论

本指南全面概述了 Ubuntu 上的 OpenSSH 安装和配置。它讨论了使用 OpenSSH 进行安全通信的重要性、检查 OpenSSH 安装、概述安装和配置过程、解释如何保护 OpenSSH 以及解决常见问题。请遵循本指南,使用 Ubuntu 桌面或服务器进行有效且安全的 OpenSSH 管理。

相关推荐
Lary_Rock1 小时前
RK3576 LINUX RKNN SDK 测试
linux·运维·服务器
云飞云共享云桌面3 小时前
8位机械工程师如何共享一台图形工作站算力?
linux·服务器·网络
Peter_chq4 小时前
【操作系统】基于环形队列的生产消费模型
linux·c语言·开发语言·c++·后端
一坨阿亮4 小时前
Linux 使用中的问题
linux·运维
dsywws5 小时前
Linux学习笔记之vim入门
linux·笔记·学习
幺零九零零6 小时前
【C++】socket套接字编程
linux·服务器·网络·c++
小林熬夜学编程8 小时前
【Linux系统编程】第四十一弹---线程深度解析:从地址空间到多线程实践
linux·c语言·开发语言·c++·算法
程思扬8 小时前
为什么Uptime+Kuma本地部署与远程使用是网站监控新选择?
linux·服务器·网络·经验分享·后端·网络协议·1024程序员节
sun0077008 小时前
拷贝 cp -rdp 和 cp -a
linux·运维·服务器
wowocpp8 小时前
ubuntu 22.04 server 安装 anaconda3
linux·运维·ubuntu