Ubuntu SSH如何进行远程调试
导读:Ubuntu SSH远程调试指南 远程调试Ubuntu系统(如代码、服务或应用程序)的核心是通过SSH建立安全连接,结合本地IDE实现代码编辑、编译及调试。以下是详细步骤: 一、准备工作:Ubuntu端配置SSH服务 安装OpenSSH...
Ubuntu SSH远程调试指南
远程调试Ubuntu系统(如代码、服务或应用程序)的核心是通过SSH建立安全连接,结合本地IDE实现代码编辑、编译及调试。以下是详细步骤:
一、准备工作:Ubuntu端配置SSH服务
-
安装OpenSSH Server
在Ubuntu终端执行以下命令,安装SSH服务:sudo apt update & & sudo apt install openssh-server -y
-
启动并设置SSH开机自启
启动SSH服务并设置为开机自动启动:sudo systemctl start ssh sudo systemctl enable ssh
-
验证SSH服务状态
确认SSH服务正在运行:sudo systemctl status ssh
若显示“active (running)”,则表示服务已启动。
-
配置SSH允许远程登录(可选但常用)
编辑SSH配置文件,允许root用户或特定用户通过密码/密钥登录:sudo vim /etc/ssh/sshd_config
- 找到
#PermitRootLogin prohibit-password
,修改为PermitRootLogin yes
(允许root登录); - 找到
PasswordAuthentication no
,修改为PasswordAuthentication yes
(允许密码登录); - 保存退出(
:wq
)后,重启SSH服务使配置生效:sudo systemctl restart ssh
- 找到
-
获取Ubuntu主机IP地址
使用ifconfig
(旧版)或ip a
(新版)命令查看IP地址,例如:ip a | grep 'inet '
输出中的
inet
字段即为本地IP(如192.168.1.100
)。
二、本地端连接Ubuntu SSH
1. 使用VS Code远程调试(推荐)
VS Code的Remote - SSH
插件可实现本地与远程Ubuntu环境的无缝集成,支持代码编辑、编译及调试。
- 安装插件:打开VS Code,搜索“Remote - SSH”并安装。
- 连接Ubuntu主机:
- 点击左侧“远程连接”图标(或按
Ctrl+Shift+P
),选择“连接到主机”; - 输入SSH连接命令(如
ssh username@192.168.1.100
),按提示输入密码; - 连接成功后,左侧会显示远程Ubuntu的文件系统,可直接打开项目文件夹。
- 点击左侧“远程连接”图标(或按
- 配置调试任务:
- 打开项目文件夹后,点击左侧“运行和调试”图标(或按
Ctrl+Shift+D
); - 点击顶部“创建launch.json文件”,选择对应语言(如C++、Python),VS Code会自动生成调试配置;
- 修改配置文件中的
program
(程序路径)、args
(命令行参数)等参数,例如:{ "version": "0.2.0", "configurations": [ { "name": "Launch Program", "type": "cppdbg", "request": "launch", "program": "${ workspaceFolder} /build/my_program", // 编译后的程序路径 "args": ["-input", "data.txt"], // 命令行参数 "stopAtEntry": false, "cwd": "${ workspaceFolder} ", "environment": [], "externalConsole": true, "MIMode": "gdb", "miDebuggerPath": "/usr/bin/gdb", // gdb路径 "setupCommands": [ { "description": "Enable pretty-printing", "text": "-enable-pretty-printing", "ignoreFailures": true } ] } ] }
- 保存配置后,点击“启动调试”即可开始远程调试。
- 打开项目文件夹后,点击左侧“运行和调试”图标(或按
2. 使用PuTTY连接(Windows常用)
PuTTY是一款轻量级SSH客户端,适合Windows系统快速连接Ubuntu。
- 下载并安装PuTTY:从PuTTY官网下载安装包,运行安装程序。
- 配置SSH连接:
- 打开PuTTY,在“Host Name (or IP address)”输入Ubuntu的IP地址(如
192.168.1.100
); - 端口保持默认
22
,点击“Open”; - 首次连接会提示“PuTTY Security Alert”,点击“Accept”;
- 输入Ubuntu用户名和密码,登录成功。
- 打开PuTTY,在“Host Name (or IP address)”输入Ubuntu的IP地址(如
- 调试操作:登录后,可通过命令行编译(
gcc -g program.c -o program
)、运行(./program
)程序,或配合gdb
(gdb ./program
)进行命令行调试。
三、高级场景:公网远程调试(无公网IP)
若需要从外网(如家庭、公司)访问局域网内的Ubuntu,需通过内网穿透工具将Ubuntu的SSH端口映射到公网。常见工具包括:
- 花生壳:支持SSH反向隧道配置,无需公网IP;
- 蒲公英X1:通过SD-WAN异地组网,构建虚拟局域网(VLAN),实现安全的公网访问。
配置后,本地端可通过花生壳/蒲公英提供的公网域名或IP连接Ubuntu,步骤与局域网连接类似,只需将IP替换为映射后的地址。
注意事项
- 防火墙设置:若Ubuntu开启了防火墙(
ufw
),需允许SSH端口(默认22):sudo ufw allow 22
- 密钥认证(可选但安全):为避免每次连接输入密码,可配置SSH密钥认证。本地生成密钥对(
ssh-keygen
),将公钥(id_rsa.pub
)复制到Ubuntu的~/.ssh/authorized_keys
文件中:
之后连接无需输入密码。ssh-copy-id username@192.168.1.100
通过以上步骤,即可实现Ubuntu系统的SSH远程调试,满足本地与远程环境协同开发的需求。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu SSH如何进行远程调试
本文地址: https://pptw.com/jishu/730520.html