一文详解VScode 的远程开发

VS code登录服务器后进行编码和调试,VS code上的所有功能都可以使用,和在本地开发基本无区别。

一、配置免密远程登录

因为是要远程登录,那么需要通过使用ssh进行密钥对登录,这样每次登录服务器就可以不用输入密码了。

先来一句官方介绍: ssh 公钥认证是一种方便、高安全性的身份验证方法,它将本地“私有”密钥与远程主机上与用户关联的“公共”密钥进行匹配,从而实现免密登录。

接下来介绍如何生成密钥并将其添加到远程主机。 我是linux用户,就只介绍linux下的配置哈,mac和Windows用户可以查看 官方文档。

1、首先检查本地是否有已生成ssh密钥对,Linux用户查看是否存在公钥文件 ~/.ssh/id_rsa.pub和私钥文件~/.ssh/id_rsa。

如果没有,则用如下命令生成,一路回车即可: ssh-keygen -t rsa -b 4096

2、然后将本地公钥文件id_rsa.pub 的内容添加到远程主机用户目录下 .ssh 文件夹内名为 authorized_keys 的文件中。 不用去复制粘贴,使用命令ssh-copy-id来完成,输出结果如下

~$ ssh-copy-id remote_user@remote_id
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
remote_user@remote_id's password: Number of key(s) added: 1Now try logging into the machine, with:   "ssh 'remote_user@remote_id'"
and check to make sure that only the key(s) you wanted were added.

二、配置VS Code远程开发插件

在VS code中,使用ctrl+shift+x快捷键打开插件搜索窗口,输入插件Remote Development,并点击安装。

使用cmd+shift+p快捷键打开命令输入窗口,输入Remote-SSH:Connect to Host...,第一次使用时需要选择Add New SSH Host配置一下,myserver是我自己配置的,选择这个就可以直接登录服务器了。

然后就照着如下格式输入登录服务器的命令:

-A 表示开启认证代理连接转发功能,其实我也不知道啥意思......

输入完成后选择第一个配置文件:

右下角出现如下提示表示成功:

这一步就算完成了,我再多说两句。

上一步是把登录服务器的信息添加到配置文件.ssh/config中的,该文件格式为:

Host aliasHostName host_idUser user_namePort 22ForwardAgent yes

  • HostName:远程主机的IP地址

  • User:远程主机的用户名

  • port:远程主机的端口号,不填写的话,ssh默认端口号为22,如果要用其他端口号,可以在这里更改

  • ForwardAgent:这个是VS code自己添加的,可以不用管

上面配置文件第一行Host alias,我们可以将alias更改为任何别名,因为我们平时登录服务器使用的命令为ssh name@server_id,如果记不住服务器IP地址,则可以设置别名来方便记忆。

比如我第一行为Host myserver,则登录服务器时使用命令ssh myserver即可。

最后再接着使用cmd+shift+p快捷键打开命令输入窗口,输入Remote-SSH:Connect to Host...,选择你配置的那个别名即可连接到服务器。

也可以通过如下方式连接服务器:

会新弹出VS code窗口,左下边多了一个远程图标,表示处于远程模式。

连接成功后,通过File->Open->File/Folder打开文件或者文件夹,然后就可以像编辑本地文件一样编辑远程文件了。

最后啰嗦一句,当使用 ssh name@server_id 远程登录服务器时,出现错误提示:Permission denied (publickey).

这是因为服务器默认禁用了ssh密码登录权限。修改方法如下:

  1. 在服务器上的终端输入:sudo vim /etc/ssh/sshd_config,打开该文件。

  1. 找到PasswordAuthentication,将其后的 no 改为 yes

  1. 重启ssh服务:sudo service sshd restart

文章转载自:丁一二

原文链接:https://www.cnblogs.com/hongzhending/p/17057060.html

体验地址:引迈 - JNPF快速开发平台_低代码开发平台_零代码开发平台_流程设计器_表单引擎_工作流引擎_软件架构

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/333738.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

docsify 文章加密

docsify 文章加密 什么是docsify? 简单来说是一款便捷的文档网站 官网文档 docsify支持很多中部署方式,包括单独部署,Github部署,Gitee部署....对于没有前端能力固定样式非常友好 加密需求 对于部署上的文档在部分时候需要进…

OV5640 摄像头的图像平滑处理

如图所示,这是整个视频采集系统的原理框图。 上电初始,FPGA 需要通过 IIC 接口对 CMOS Sensor 进行寄存器初始化配置。这些初始化的基本参数,即初始化地址对应的初始化数据都存储在一个预先配置好的 FPGA 片内 ROM中。在初始化配置完成后&…

过去半年信竞基础学习总结

当Richard同学从去年7月份,开始从YY班学习C和信息学竞赛时,他对C还一无所知,但对计算机和编程的兴趣让他一直都乐在其中。在过去的半年中,通过参加各个平台的月赛,让他更加热爱编程,也让Richard更加了解自己…

中国建设银行 关于解决微软升级导致插入网银盾无法自动打开企业网银的通知

关于解决微软升级导致插入网银盾无法自动打开企业网银的通知 发布时间:2023-10-18 尊敬的客户: 近期Windows操作系统升级会禁止使用IE浏览器,可能会导致您在插入网银盾后无法自动弹出企业网银登录页面,您可以通过以下方式解决&…

MODBUS转PROFINET网关与全数字交流伺服配置案例

MODBUS转PROFINET网关连接与全数字交流伺服驱动系统的配置案例,这一通信方式极大地简化了工业自动化系统中的数据传输和控制过程。变频器和伺服电机可以实现数据交流和控制指令的实时传输,从而实现更精确更高效的生产过程。 案例简介:本案例是…

NODE笔记 0

一些简单的node学习笔记记录,是Vue等前端框架的基础 入门学习备忘录 文章目录 前言一、pandas是什么?二、使用步骤 1.引入库2.读入数据总结 前言 node.js 内置网络服务器,是前端框架学习的基础: 概念:…

【python爬虫开发实战 情感分析】利用爬虫爬取城市评论并对其进行情感分析

🚀个人主页:为梦而生~ 关注我一起学习吧! 💡专栏: python网络爬虫从基础到实战 带你学习爬虫从基础到实战 深度学习带你感受AI的魅力 💡往期推荐: ⭐️前面比较重要的基础内容: 【Py…

安全远控如何设置?揭秘ToDesk、TeamViewer 、向日葵安全远程防御大招

写在前面一、远程控制:安全性不可忽略二、远控软件安全设置实测 ◉ ToDesk◉ TeamViewer◉ 向日葵 三、远控安全的亮点功能四、个人总结与建议 写在前面 说到远程办公,相信大家都不陌生。远程工作是员工在家中或者其他非办公场所上班的一种工作模式&am…

「PyMuPDF 专栏 」PyMuPDF创建PDF、拆分PDF

文章目录 一、本章前言二、使用PyMuPDF创建PDF文档1、实例代码2、过程详解①. 安装PyMuPDF②. 导入PyMuPDF模块③. 创建一个新的PDF文档④. 添加页面和内容⑤. 保存文档 三、使用PyMuPDF拆分PDF文档1、实例代码2、过程解析①. 导入模块②. 定义函数③. 打开源PDF文件④. 遍历页…

大模型笔记【2】 LLM in Flash

Apple最近发表了一篇文章,可以在iphone, MAC 上运行大模型:【LLM in a flash: Efficient Large Language Model Inference with Limited Memory】。 主要解决的问题是在DRAM中无法存放完整的模型和计算,但是Flash Memory可以存放完整的模型。…

大模型训练算力利用率达60%,蚂蚁开源分布式训练扩展库ATorch

近日,蚂蚁集团宣布开源大模型分布式训练加速扩展库ATorch。ATorch可针对不同模型和硬件资源,实现深度学习自动资源动态优化和分布式训练稳定性提升,帮助提升深度学习的智能性。据了解,在大模型训练中,ATorch千亿模型千…

第7章 DOM(下)

学习目标 熟悉节点的概念,能够说出节点的属性和层级 掌握节点操作,能够完成节点的获取、创建、添加、移除和复制操作 掌握事件的进阶操作,能够实现事件的监听和移除 熟悉DOM事件流,能够说出事件捕获和事件冒泡两种方式的区别 …