当前位置: 首页 > news >正文

Ubuntu 22.04 LTS 新装系统后,第一件事:5分钟搞定SSH远程访问(附systemctl和ufw防火墙设置)

Ubuntu 22.04 LTS 系统初始化:5分钟构建安全SSH远程管理环境

刚完成Ubuntu 22.04 LTS的安装,开发者最迫切的需求往往是摆脱显示器和键盘的束缚,快速建立可靠的远程管理通道。作为长期支持版本,22.04 LTS在系统稳定性和安全性方面都有显著提升,但默认配置仍需要手动优化才能满足远程开发需求。本文将带你用最短时间完成从物理机到云端工作台的转变,重点解决三个核心问题:SSH服务的高效部署、系统服务的自动化管理以及防火墙的安全策略配置。

1. 基础环境准备与SSH服务部署

Ubuntu 22.04 LTS默认不安装SSH服务端,这是基于最小化安装的安全考虑。我们需要先更新软件源确保获取最新的安全补丁:

sudo apt update && sudo apt upgrade -y

接着安装OpenSSH服务端组件,这个开源实现已成为Linux系统的标准远程管理方案:

sudo apt install openssh-server -y

安装完成后,系统会自动创建以下关键文件:

  • /etc/ssh/sshd_config:主配置文件
  • /etc/ssh/ssh_host_*:主机密钥文件
  • /var/log/auth.log:认证日志

验证服务是否正常运行:

sudo systemctl status ssh

正常运行的输出应显示"active (running)"状态。如果遇到问题,可以检查服务日志:

journalctl -u ssh.service --no-pager -n 20

2. 系统服务管理与开机自启

Ubuntu 22.04采用systemd作为初始化系统,我们需要掌握几个关键操作命令:

操作类型命令格式应用场景
启动服务sudo systemctl start ssh临时启动SSH服务
停止服务sudo systemctl stop ssh紧急停止远程访问
重启服务sudo systemctl restart ssh应用配置更改后
查看状态sudo systemctl status ssh检查运行状况
启用自启sudo systemctl enable ssh系统启动时自动运行

设置开机自启是服务器管理的基本要求:

sudo systemctl enable --now ssh

这个命令同时实现了立即启动和设置自启两个功能。要确认自启是否配置成功:

systemctl is-enabled ssh

3. 防火墙安全策略配置

UFW(Uncomplicated Firewall)是Ubuntu的简化防火墙工具,基于iptables构建。配置前需要确认当前防火墙状态:

sudo ufw status verbose

允许SSH连接的两种等效方式:

sudo ufw allow ssh # 使用服务名 sudo ufw allow 22/tcp # 直接指定端口

启用防火墙并设置默认策略:

sudo ufw default deny incoming # 默认拒绝所有入站 sudo ufw default allow outgoing # 允许所有出站 sudo ufw enable

重要提示:在远程服务器上操作防火墙时,建议先保持当前SSH连接,另开终端测试新连接,避免被锁在系统外。

验证防火墙规则是否生效:

sudo ufw status numbered

典型输出应显示22端口允许规则:

Status: active To Action From -- ------ ---- [1] 22/tcp ALLOW IN Anywhere [2] 22/tcp (v6) ALLOW IN Anywhere (v6)

4. 高级安全加固与连接测试

完成基础配置后,建议进行以下安全优化:

  1. 修改默认SSH端口: 编辑配置文件:

    sudo nano /etc/ssh/sshd_config

    找到并修改:

    Port 2222 # 改为非标准端口
  2. 禁用root直接登录

    PermitRootLogin no
  3. 启用密钥认证

    PasswordAuthentication no PubkeyAuthentication yes

应用配置更改:

sudo systemctl restart ssh

对应防火墙规则更新:

sudo ufw allow 2222/tcp

测试连接时建议使用-v参数查看详细过程:

ssh -p 2222 username@server_ip -v

连接建立后,可以检查会话信息:

who # 查看当前登录用户 netstat -tpn | grep ssh # 查看SSH连接详情

5. 常见问题排查与系统优化

遇到连接问题时,可按以下步骤排查:

  • 端口检测

    sudo ss -tulnp | grep ssh

    正常输出应显示SSH服务正在监听指定端口

  • 防火墙验证

    sudo ufw status | grep 22
  • 连接测试工具

    telnet server_ip 22 # 测试端口可达性 ssh -T user@server_ip # 测试认证过程

为提高SSH连接稳定性,可以调整客户端配置(~/.ssh/config):

Host myserver HostName server_ip Port 2222 User username ServerAliveInterval 60 TCPKeepAlive yes

服务端性能优化参数(/etc/ssh/sshd_config):

ClientAliveInterval 300 ClientAliveCountMax 2 MaxSessions 10 LoginGraceTime 1m
http://www.cnnetsun.cn/news/2556457.html

相关文章:

  • 打破系统壁垒:用TigerVNC实现跨平台远程控制的完整指南
  • Mac Mouse Fix终极指南:让你的普通鼠标比苹果触控板更好用!
  • c++中std::tuple、std::pair 、std::tie使用详解
  • OpenPLC虚拟PLC:工业自动化零成本学习的终极指南
  • 如何让Mac窗口置顶:Topit免费工具提升多任务效率的3个秘诀
  • 终极音乐解锁指南:3步让你的加密音乐在任何设备自由播放
  • 3个核心优势,让DyberPet成为桌面宠物开发的首选框架
  • 三步掌握音乐文件格式转换:零基础实现加密音频解密
  • AlwaysOnTop:Windows窗口置顶工具的终极免费解决方案
  • 抖音下载器完整指南:3分钟掌握视频批量下载的终极技巧
  • 终极Unity游戏去马赛克完整指南:5个免费插件的简单配置教程 [特殊字符]
  • 【独家披露】DeepSeek灰度发布SLI/SLO基线标准:99.95%可用性背后的4层验证漏斗
  • 淘金币自动化脚本:5分钟完成淘宝每日任务终极指南
  • 别等上线后救火!DeepSeek幻觉防御黄金48小时——从模型微调、RAG增强到输出校验的闭环实践手册
  • 网盘下载速度提升300%?这款开源插件让你告别限速烦恼
  • Unity UI Toolkit避坑指南:3D世界UI、动画与Shader特效的替代方案
  • UE5 Niagara新手教程:5分钟搞定酷炫的条带拖尾特效(附第三人称角色绑定)
  • 别再被阴影折磨了!Unity/UE4中Shadow Mapping的Bias、PCF、PCSS实战避坑指南
  • NoFences:免费开源桌面图标管理工具,告别杂乱无章的Windows桌面
  • 游戏开发/机器人导航必看:极坐标到底比XY坐标强在哪?Unity/ROS中的实战案例
  • Arduino软开关电路设计:用MOSFET实现软件可控的安全断电
  • 洛雪音乐桌面版:一个开源音乐聚合播放器的现代化体验之旅
  • 鸣潮工具箱WaveTools:3大核心功能帮你轻松优化游戏体验
  • MTCNN真的过时了吗?深入对比它在PyTorch轻量化部署与最新SOTA模型的实战表现
  • Awoo Installer:如何用这个免费工具快速安装Switch游戏
  • 昇腾NPU上部署SAM——万物分割模型的工程实战
  • 使用Taotoken后API调用延迟稳定在可接受范围
  • 如何用Python脚本3步实现大麦网智能抢票?终极自动化购票指南
  • 大学生零成本副业!SRC 漏洞挖掘入门教程,玩法收益一次性讲清
  • 深耕智能体落地内核,解决复用,观测,评测三大核心难题