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

Ubuntu 22.04 安装 SSH 服务与远程调试环境配置指南

1. 安装 OpenSSH 服务器

首先,确保系统已更新,然后安装 OpenSSH 服务器。

# 切换到 root 用户(或使用 sudo)sudosu-# 更新软件包列表aptupdate# 安装 openssh-serveraptinstallopenssh-server-y

2. 启动服务并设置开机自启

安装完成后,启动 SSH 服务并设置为开机自动启动。

# 启动 SSH 服务并设置开机自启systemctlenable--nowssh

3. 验证 SSH 服务状态

通过以下命令检查 SSH 服务是否正常运行。

# 检查 SSH 服务状态systemctl statusssh# 检查 22 端口是否在监听ss-tulpn|grep:22

4. 本地连接测试

在本地尝试 SSH 连接,验证服务是否可访问。

# 使用当前用户连接本地 SSH 服务sshhome@localhost

5. 额外配置与检查

为了避免后续连接问题,建议进行以下配置。

5.1 防火墙放行 SSH 端口

如果系统启用了防火墙(如ufw),需要放行 SSH 端口。

# 允许 SSH 端口(默认 22)ufw allowssh# 重新加载防火墙规则ufw reload

5.2 确认允许密码登录

默认情况下,Ubuntu 22.04 的 SSH 配置可能禁止密码登录。请检查并修改配置文件。

# 编辑 SSH 服务配置文件nano/etc/ssh/sshd_config

找到PasswordAuthentication一行,确保其设置为yes

PasswordAuthenticationyes

保存文件后,重启 SSH 服务使配置生效。

systemctl restartssh

6. 远程部署路径配置(.pro 文件)

在 Qt 项目的.pro文件中,可以指定远程部署路径,方便通过 Qt Creator 进行远程部署。

# 指定远程目标路径 target.path = /home/pc/myApp INSTALLS += target

7. 远程运行环境变量设置

在远程主机上运行 Qt 应用程序时,可能需要设置以下环境变量。

# 设置显示和权限exportDISPLAY=:0exportXAUTHORITY=/home/pc/.Xauthority# 设置库路径(包含自定义库和系统库)exportLD_LIBRARY_PATH=/home/pc/myApp/lib:/home/pc/myApp/lib/Galaxy:/home/pc/myApp/lib/OpenCV:/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH# 设置 Qt 插件路径exportQT_QPA_PLATFORM_PLUGIN_PATH=/home/pc/myApp/plugins/platforms# 另一种动态库路径设置方式(使用当前目录)exportLD_LIBRARY_PATH="$PWD/lib:$PWD/lib/Galaxy:$PWD/lib/OpenCV:/usr/lib/x86_64-linux-gnu"

8. 安装 xcb 依赖(解决 Qt 图形界面问题)

如果远程应用程序使用 Qt 且基于 xcb 平台,需要安装相关依赖。

sudoaptupdate&&sudoaptinstall--reinstall-ylibxcb-cursor0 libxcb-util-dev libxcb-image0 libxcb-keysyms1 libxcb-render-util0 libxcb-shape0 libxcb-sync1 libxcb-xfixes0 libxcb-randr0 libxcb-shm0 libxcb-icccm4 libxcb-render0 libxcb-xkb1 libxkbcommon-x11-0sudoldconfig

9. 编写启动脚本

创建一个启动脚本(例如start.sh),统一设置环境并启动应用程序。

#!/bin/bashcd"$(dirname"$0")"# 强制指定库路径,包含本地库和系统库exportLD_LIBRARY_PATH="$PWD/lib:/usr/lib/x86_64-linux-gnu"# 强制指定 Qt 插件路径exportQT_QPA_PLATFORM_PLUGIN_PATH="$PWD/plugins/platforms"# 强制使用 xcb 平台,避免 wayland 干扰exportQT_QPA_PLATFORM=xcb# 开启 Qt 插件调试,方便定位问题exportQT_DEBUG_PLUGINS=1# 启动应用程序./HA5001HM

赋予脚本执行权限:

chmod+x start.sh

10. 安装远程调试工具

为了支持远程调试(例如使用 GDB),需要在远程主机上安装gdbserver,在本地开发机安装gdb

# 在远程主机(Ubuntu 22.04)上安装 gdbserversudoaptupdatesudoaptinstallgdbserver gdb-y

安装后,即可在远程主机启动gdbserver,在本地通过gdb连接进行远程调试。

总结

本文详细介绍了在 Ubuntu 22.04 上安装和配置 SSH 服务,以及为远程 Qt 应用程序部署和调试准备环境的完整步骤。涵盖了服务安装、防火墙配置、环境变量设置、依赖安装和启动脚本编写,帮助开发者快速搭建稳定的远程开发和调试环境。

http://www.cnnetsun.cn/news/3868027.html

相关文章:

  • 西宁网站建设开发怎么选?避开这些坑才是真省钱,本地团队告诉你大实话
  • AI 焦虑下,前端该何去何从
  • HarmonyOS 7 / API 26 折叠屏断点适配:页面宽度变化后列表、详情和弹窗怎么稳定
  • MinIO对象存储:轻量级云原生解决方案部署指南
  • 深入解析黑龙江省建设厅网站如何助力百姓办事与行业发展
  • nnUNet and its customization
  • FigmaCN:3分钟实现Figma完整中文界面的终极指南
  • Redis双写一致性:从延时双删到分布式锁与CDC的解决方案
  • ChatGPT教育插件实战指南:从原理到教学应用全解析
  • 测测动次打次我说的
  • 做青岛商网站建设,如何让企业官网从“能看”到“好用”?资深运营人的掏心窝子建议
  • 网站流量月增40%实战分析:从数据拆解到可复现增长策略
  • 品牌域名回购注意事项
  • Unity TextMesh Pro中文显示“口口”乱码:原理剖析与全平台解决方案
  • 龙华新区网站建设指南:如何打造真正转化率高、用户体验佳的数字化品牌门面
  • DeepSeek LeetCode 3821. 二进制中恰好K个1的第N小整数 Python3实现
  • QKeyMapper:Windows平台终极跨设备按键映射解决方案
  • 西班牙智慧灌溉阀控器物联网卡:本土网络低功耗适配
  • Unity动态天气系统UniStorm:从体积云渲染到游戏玩法集成
  • Unity启动画面全解析:从内置配置到自定义加载场景的实战优化
  • 数据库期末急救指南:核心概念、SQL实战与高频考点解析
  • 集团网站群建设:打破信息孤岛,打造数字化协同新生态的实战思考
  • UE4抛射物运动方案:ProjectileMovement与物理模拟的冲突与融合
  • 微信网页版免安装完整指南:5分钟解锁公司电脑限制的终极方案
  • 基于PaddleOCR与大模型的文档智能解析:从视觉感知到认知理解
  • 3分钟掌握ECharts动态液位图表:让你的数据可视化生动起来![特殊字符]
  • 股票短期交易策略:超跌反弹与趋势惯性的实战解析
  • MIPI DSI协议解析与实战:从信号完整性到Linux驱动调试
  • Open-Meteo:重新定义企业级气象数据服务的开源架构
  • 中小企业网站建设需要些什么:从0到1的避坑指南与实战解析