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

相关推荐
取经蜗牛2 小时前
Ubuntu 国内镜像源配置指南(多版本常用镜像地址都有)
linux·运维·ubuntu
实心儿儿3 小时前
Linux —— 线程控制(1)
linux·运维·服务器
筠筠喵呜喵3 小时前
Linux软件开发性能优化
linux·c++·性能优化
Bruce_kaizy4 小时前
c++ linux环境编程——文件io介绍以及open 、write 、read 三剑客深度详解
linux·服务器·c++·ubuntu·操作系统·文件io
亦良Cool4 小时前
VMware虚拟机ubuntu瘦身,解决虚拟机越用越大
linux·运维·ubuntu
星辰&与海5 小时前
KVM + QEMU虚拟化方案
linux·运维
宋浮檀s5 小时前
应急响应——恶意流量&攻击行为识别
linux·运维·网络·网络安全·应急响应
REDcker5 小时前
Linux OverlayFS详解
java·linux·运维
lwx9148526 小时前
Linux系统中用户锁定后如何解锁
linux·运维·服务器
zhangrelay7 小时前
ROS 2 Lyrical Luth启程-Ubuntu26.04-
linux·笔记·学习·ubuntu