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 管理。

相关推荐
黄交大彭于晏4 分钟前
发送文件脚本源码版本
java·linux·windows
搞Linux的杰仔29 分钟前
Ubuntu20.04基础配置安装——系统安装(一)
linux·嵌入式开发
Kaede63 小时前
如何应对Linux云服务器磁盘空间不足的情况
linux·运维·服务器
草上爬5 小时前
OpenWrt:使用ALSA实现边录边播
ubuntu·openwrt·record·alsa·play
apocelipes8 小时前
Linux c 运行时获取动态库所在路径
linux·c语言·linux编程
努力学习的小廉9 小时前
深入了解linux系统—— 进程池
linux·运维·服务器
秃头菜狗10 小时前
各个主要目录的功能 / Linux 常见指令
linux·运维·服务器
2301_7931024910 小时前
Linux——MySql数据库
linux·数据库
jiunian_cn11 小时前
【Linux】centos软件安装
linux·运维·centos
藥瓿亭11 小时前
K8S认证|CKS题库+答案| 6. 创建 Secret
运维·ubuntu·docker·云原生·容器·kubernetes·cks