vscode远程链接linux(Ubuntu)

以下是在Linux系统配置SSH及C++环境,并使用Windows版VSCode连接的详细步骤:


一、Linux系统配置SSH

  1. 安装SSH服务

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

    sudo systemctl start ssh
    sudo systemctl enable ssh
    
  3. 检查SSH服务状态

    sudo systemctl status ssh  # 确认状态为“active (running)”
    
  4. 配置防火墙(如启用)

    sudo ufw allow ssh  # 若使用UFW防火墙
    
  5. 获取Linux的IP地址

    ip a  # 查找类似 192.168.x.x 的IPv4地址
    
  6. (可选)启用密码登录(默认已启用)

    • 编辑SSH配置文件:
      sudo vim /etc/ssh/sshd_config
      
    • 确保包含以下行:
      PasswordAuthentication yes
      
    • 重启SSH服务:
      sudo systemctl restart ssh
      

二、配置C++开发环境

  1. 安装编译工具链

    sudo apt install build-essential gdb -y
    
  2. 验证安装

    g++ --version  # 应输出版本信息
    gdb --version  # 同上
    

三、Windows端VSCode配置

  1. 安装VSCode

  2. 安装扩展

    • 搜索并安装 Remote - SSHC/C++ 扩展。
  3. 配置SSH连接

    • Ctrl+Shift+P,输入 Remote-SSH: Connect to Host
    • 选择 Add New SSH Host,输入:
      ssh username@linux_ip  # 替换为实际用户名和IP
      
    • 按提示保存到配置文件(如 C:\Users\YourUser\.ssh\config)。
  4. 连接远程Linux

    • 选择刚添加的主机,输入密码(或配置密钥免密登录)。

四、配置免密登录(可选)

  1. 在Windows生成密钥对

    • 打开PowerShell,运行:
      ssh-keygen -t rsa  # 按提示生成密钥(默认路径为 `~\.ssh\`)
      
  2. 复制公钥到Linux

    cat ~\.ssh\id_rsa.pub | ssh username@linux_ip "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"
    

五、VSCode远程开发配置

  1. 在远程Linux安装C/C++扩展

    • 连接成功后,在VSCode扩展页面安装 C/C++ 扩展(远程环境需重新安装)。
  2. 创建C++项目

    • 在远程Linux上新建文件(如 main.cpp),编写代码:
      #include <iostream>
      int main() {
          std::cout << "Hello from Linux!" << std::endl;
          return 0;
      }
      
  3. 配置编译任务(tasks.json)

    • Ctrl+Shift+P,输入 Tasks: Configure Task
    • 选择 g++,生成 tasks.json
      {
          "version": "2.0.0",
          "tasks": [{
              "label": "build",
              "type": "shell",
              "command": "g++",
              "args": ["-g", "${file}", "-o", "${fileDirname}/${fileBasenameNoExtension}"],
              "group": { "kind": "build", "isDefault": true }
          }]
      }
      
  4. 配置调试(launch.json)

    • 切换到调试视图,创建 launch.json
      {
          "version": "0.2.0",
          "configurations": [{
              "name": "C++ Launch",
              "type": "cppdbg",
              "request": "launch",
              "program": "${fileDirname}/${fileBasenameNoExtension}",
              "args": [],
              "stopAtEntry": false,
              "cwd": "${workspaceFolder}",
              "environment": [],
              "externalConsole": false,
              "MIMode": "gdb",
              "setupCommands": [{
                  "description": "启用gdb美化",
                  "text": "-enable-pretty-printing",
                  "ignoreFailures": true
              }]
          }]
      }
      

六、验证流程

  1. 编译代码

    • Ctrl+Shift+B 执行编译任务。
  2. 调试代码

    • 设置断点,按 F5 启动调试。

常见问题解决

  • SSH连接失败:检查Linux的IP、防火墙、SSH服务状态。
  • 权限问题:确保 ~/.ssh 权限为 700authorized_keys600
  • 扩展未生效:在远程环境中重新安装VSCode扩展。

完成以上步骤后,即可在Windows的VSCode中无缝开发并调试Linux上的C++程序。

### 使用VSCode从Windows进行远程SSH连接Ubuntu服务器的方法和配置 #### 安装必要的软件组件 为了能够顺利地使用 VSCode 进行远程开发,需先确保 Windows 和 Ubuntu 上都已安装好所需的工具。 在 Windows 系统上,需要安装 Visual Studio Code 并添加 Remote - SSH 扩展包。这可以通过访问扩展市场并搜索 "Remote - SSH" 来完成[^1]。 对于目标 Linux (Ubuntu) 机器,则要确认已经正确设置了 OpenSSH Server。通常情况下可以利用如下命令来安装它: ```bash sudo apt update && sudo apt install openssh-server ``` 此操作会下载并设置好服务端所需的一切文件[^2]。 #### 配置SSH密钥认证 建立安全可靠的通信渠道至关重要。建议采用基于公私钥的身份验证方式代替简单的密码登录模式。具体做法是在本地计算机生成一对新的 RSA 密钥对,并将其公共部分复制到远端主机的 `~/.ssh/authorized_keys` 文件里去。 ```bash # 在Windows下执行(假设已安装Git Bash或其他支持ssh-keygen的环境) ssh-keygen -t rsa -b 4096 -C "your_email@example.com" ssh-copy-id user@remote_host_ip_address ``` 上述指令创建了一个强度较高的加密密钥,并自动完成了向远程主机上传的过程。 #### 设置VSCode中的SSH配置 打开 VSCode 后,点击左侧活动栏里的绿色图标进入远程资源管理器视图;接着选择 “Connect to Host...”,按照提示输入相应的用户名以及 IP 地址组合成的形式如 `username@ipaddress` 的字符串即可尝试首次链接。如果之前成功建立了无密码登陆机制的话,此时应该可以直接跳过身份校验环节而无需手动干预。 另外还可以编辑位于用户目录下的 `.ssh/config` 文本档来自定义更多参数选项,比如指定默认使用的端口号或是设定别名方便记忆等特性。 ```plaintext Host myserver HostName remote_host_ip_address User username Port 22 IdentityFile ~/.ssh/id_rsa ``` 这样以后就可以简单地只用 `myserver` 就能代表完整的地址信息了。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值