windows vscode远程调试ubuntu linux openssh 启用C/C++代码错误检查提示 免密码远程登录

一、Windows和Ubuntu准备

  1. Windows准备
    先装好vscode下的C/C++环境配置,再安装openssh插件
    windows vscode远程调试ubuntu linux openssh 启用C/C++代码错误检查提示 免密码远程登录_第1张图片windows vscode远程调试ubuntu linux openssh 启用C/C++代码错误检查提示 免密码远程登录_第2张图片
  2. Ubuntu准备
    输入命令sudo apt install openssh-server安装openssh-server

二、VScode尝试连接Ubuntu

  1. Ubuntu终端输入sudo apt install openssh-server启用(重要
  2. 打开vscode,新建ssh hosts,在弹出框填上ubuntu里的的用户名@host可以打开ubuntu终端查看
    windows vscode远程调试ubuntu linux openssh 启用C/C++代码错误检查提示 免密码远程登录_第3张图片=windows vscode远程调试ubuntu linux openssh 启用C/C++代码错误检查提示 免密码远程登录_第4张图片
    3.设定连接ip
    在Ubuntu终端输入ifconfig(没有就先安装)查看ip,我这里是Vmware虚拟机使用NAT网络连接
    windows vscode远程调试ubuntu linux openssh 启用C/C++代码错误检查提示 免密码远程登录_第5张图片
    windows vscode远程调试ubuntu linux openssh 启用C/C++代码错误检查提示 免密码远程登录_第6张图片

windows vscode远程调试ubuntu linux openssh 启用C/C++代码错误检查提示 免密码远程登录_第7张图片
4. vscode第一次远程连接ubuntu
windows vscode远程调试ubuntu linux openssh 启用C/C++代码错误检查提示 免密码远程登录_第8张图片
提示框需要输入密码就输入,看到左下角显示如图所示表示连接成功,打开文件夹即可显示ubuntu目录,按下ctrl+j打开终端即可使用vscode调试

windows vscode远程调试ubuntu linux openssh 启用C/C++代码错误检查提示 免密码远程登录_第9张图片
windows vscode远程调试ubuntu linux openssh 启用C/C++代码错误检查提示 免密码远程登录_第10张图片

三、实现openssh的Ubuntu下自启

终端输入
sudo apt install openssh-server
sudo systemctl enable ssh
sudo reboot
重启后继续输入sudo systemctl status ssh如下图所示为设置成功windows vscode远程调试ubuntu linux openssh 启用C/C++代码错误检查提示 免密码远程登录_第11张图片

四、vscode免密码连接ssh

  1. 在windows终端输入ssh-keygen然后一路回车
    windows下打开C:\Users\你的用户名\.ssh\config,添加一行IdentityFile "C:\Users\你的用户名\.ssh\id_rsa"

windows vscode远程调试ubuntu linux openssh 启用C/C++代码错误检查提示 免密码远程登录_第12张图片
2. 在Ubuntu终端输入ssh-keygen然后一路回车,接着输入sudo gedit /home/你的Ubuntu用户名/.ssh/authorized_keys,将windows下的C:\Users\你的用户名\.ssh\id_rsa.pub用txt打开,复制完输入到Ubuntu打开的authorized_keys
windows vscode远程调试ubuntu linux openssh 启用C/C++代码错误检查提示 免密码远程登录_第13张图片

五、启用vscode代码检查和debug调试

在vscode中对ubuntu桌面目录下新建hello.c

//hello.c
#include 
int main(int argc, char **argv)
{
    if (argc >= 2)
        printf("Hello, %s!\n", argv[1]);
    else
        printf("Hello, world!\n");
    return 0;
}

默认情况下没有代码错误检查也不能运行,只能在终端输入gcc -o build hello.c编译再./build 666才能运行
解决办法:

  1. 在vscode已经远程连接Ubuntu窗口下(也就是切换到ssh工作区),搜索插件C/C++,点击SSH:ubuntu中安装
    windows vscode远程调试ubuntu linux openssh 启用C/C++代码错误检查提示 免密码远程登录_第14张图片
  2. vscode打开ubuntu中的hello.c,按下f5创建调试配置文件即可,或者复制以下内容到vscode下ubuntu工作区.vscode文件夹下的tasks.json中(没有就手动创建)
//tasks.json
{
    "tasks": [
        {
            "type": "cppbuild",
            "label": "C/C++: gcc-11 生成活动文件",
            "command": "/usr/bin/gcc-11",
            "args": [
                "-fdiagnostics-color=always",
                "-g",
                "${file}",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}"
            ],
            "options": {
                "cwd": "${fileDirname}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "detail": "调试器生成的任务。"
        }
    ],
    "version": "2.0.0"
}

看到少写一个冒号出先错误提示(图中使用了error Lens插件
windows vscode远程调试ubuntu linux openssh 启用C/C++代码错误检查提示 免密码远程登录_第15张图片
大功告成!

你可能感兴趣的:(linux,ubuntu,vscode,vmware)