使用SSH在vscode对ubuntu进行开发

用SSH在VSCode对Ubuntu进行开发

SSH

SSH

Secure Shell(SSH) 是由 IETF(The Internet Engineering Task Force) 制定的建立在应用层基础上的安全网络协议。它是专为远程登录会话(甚至可以用Windows远程登录Linux服务器进行文件互传)和其他网络服务提供安全性的协议,可有效弥补网络中的漏洞。通过SSH,可以把所有传输的数据进行加密,也能够防止DNS欺骗和IP欺骗。还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度。目前已经成为Linux系统的标准配置。

假设我们要在windows中的vscode对虚拟机进行操作时,在ubuntu中打开vscode进行使用非常的不习惯,在windows中的vscode中使用ssh插件对ubuntu进行操作就方便很多。

首先,在ubuntu中安装ssh的用户端,

sudo apt-get install openssh-client

启动ssh:

sudo service ssh start

查看ssh状态:

sudo service ssh status

如图active就是打开了ssh服务:
在这里插入图片描述
在windows的vscode端,安装如下插件
在这里插入图片描述
在这里插入图片描述
在ubuntu中查看ip,如下ens33为我设置的桥接网络,ens37用于连接外网(没改过的一般就是一个ip),复制该ip
在这里插入图片描述
回到windows的vscode,点击加号
在这里插入图片描述
输入ssh 客户端用户名@服务器ip地址 ,如

ssh jiajiajia@192.168.110.133

回车已更新config文件
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
即可对ubuntu进行操作。

测试如下,打开ubuntu的文件
在这里插入图片描述
正常可用。

转载

### 配置 VSCode 调试 xv6 on Ubuntu 为了在 VSCode 中调试运行于 Ubuntu 的 xv6 操作系统,需要完成以下几个方面的配置: #### 1. 安装必要的工具和扩展 确保安装了以下必备组件: - **Go 扩展**:用于支持 Go 编程语言的功能[^2]。 - **C/C++ 扩展**:如果涉及 C 文件的调试,则需此扩展来提供 IntelliSense 和调试功能[^3]。 - **Remote Development Extension Pack**:允许通过 SSH 远程连接到目标机器并进行开发和调试。 这些可以通过打开命令面板 (`Ctrl+Shift+P`) 并输入 `Extensions: Install Extensions` 来查找和安装上述插件。 #### 2. 设置本地环境 在本地环境中,确保已正确编译 xv6 源码。通常情况下,xv6 提供了一个 Makefile,可以用来构建内核和其他必要部分。执行以下命令以验证是否能够成功启动模拟器: ```bash make clean && make qemu-nox ``` 这一步骤会清理旧版本、重新编译项目,并利用 QEMU 启动无图形界面模式下的虚拟机实例[^4]。 #### 3. 创建 launch.json 配置文件 创建 `.vscode/launch.json` 文件以便定义调试会话参数。下面是一个针对 GDB 或者 LLDB 使用场景的例子: 对于基于 GNU Debugger (GDB) 的情况: ```json { "version": "0.2.0", "configurations": [ { "name": "(gdb) Launch", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/kernel/kernel", "args": [], "stopAtEntry": false, "cwd": "${workspaceFolder}", "environment": [], "externalConsole": true, "MIMode": "gdb", "setupCommands": [ { "description": "Enable pretty-printing for gdb", "text": "-enable-pretty-printing", "ignoreFailures": true } ], "preLaunchTask": "build-kernel" } ] } ``` 其中 `"${workspaceFolder}/kernel/kernel"` 应指向实际生成的目标二进制路径;而 `"preLaunchTask"` 字段关联的任务将在每次开始调试前自动触发,可用于自动化构建流程[^5]。 如果是采用 LLVM Debugger (LLDB),则相应调整如下所示: ```json "name": "(lldb) Attach to Remote Target", "type": "lldb", "request": "attach", "pid": "${command:pickProcess}" ``` 这里假设已经有一个正在运行的服务进程可供附加至其上[^6]。 #### 4. 实现远程调试的支持 当希望直接从主机端操作远端服务器上的程序时,需要用到 remote debugging 功能。具体做法包括但不限于: - 在目标设备上开启监听服务; - 修改前述 JSON 配置中的某些字段值(比如 host/port),使之匹配实际情况; - 添加额外的安全措施防止未授权访问等问题发生。 例如,在 Linux 上可能需要先手动启动 gdbserver 程序并与之建立通信链路: ```bash gdbserver localhost:9876 ./your_program --arg1 value1 ... ``` 随后更新对应的 Visual Studio Code 配置项使其能识别该地址及端口号作为入口点[^7]。 --- ### 总结 综上所述,要实现 VSCode 对于 XV6 On Ubuntu 的有效调试体验,主要依赖恰当选择合适的编辑器插件组合、精心设计专属化的调试方案以及妥善处理跨平台间的数据交换逻辑等方面的工作成果共同作用的结果。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

静思心远

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值