首页主机资讯Ubuntu SSH如何进行远程调试

Ubuntu SSH如何进行远程调试

时间2025-10-20 21:55:03发布访客分类主机资讯浏览331
导读:Ubuntu SSH远程调试指南 远程调试Ubuntu系统(如代码、服务或应用程序)的核心是通过SSH建立安全连接,结合本地IDE实现代码编辑、编译及调试。以下是详细步骤: 一、准备工作:Ubuntu端配置SSH服务 安装OpenSSH...

Ubuntu SSH远程调试指南
远程调试Ubuntu系统(如代码、服务或应用程序)的核心是通过SSH建立安全连接,结合本地IDE实现代码编辑、编译及调试。以下是详细步骤:

一、准备工作:Ubuntu端配置SSH服务

  1. 安装OpenSSH Server
    在Ubuntu终端执行以下命令,安装SSH服务:

    sudo apt update &
        &
     sudo apt install openssh-server -y
    
  2. 启动并设置SSH开机自启
    启动SSH服务并设置为开机自动启动:

    sudo systemctl start ssh
    sudo systemctl enable ssh
    
  3. 验证SSH服务状态
    确认SSH服务正在运行:

    sudo systemctl status ssh
    

    若显示“active (running)”,则表示服务已启动。

  4. 配置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
      
  5. 获取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用户名和密码,登录成功。
  • 调试操作:登录后,可通过命令行编译(gcc -g program.c -o program)、运行(./program)程序,或配合gdbgdb ./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
Ubuntu LNMP中Nginx如何配置 Ubuntu SSH如何重启远程服务

游客 回复需填写必要信息