Win10下配置VScode远程开发ssh-remote(免密登录)
作者:Cassie_pyLu 发布时间:2022-07-17 23:01:13
问题背景:
在开发或者做实验的过程中,我们经常会用到远程服务器或者Github的项目,而我服务器上的项目只能在Jupyter Notebook上编写(或许可以在其他IDE上写,但我不知道)。而我们喜欢用的IDE比如Pycharm、轻量级的VScode,如何在本地的IDE上使用服务器的项目且快速、方便地写代码呢?这就是今天要详细介绍的VScode配置免密ssh+remote,一旦连接成功,我们就可以在本地自己喜欢的IDE上操作远程服务器端的项目了。
环境准备:
1.Win10
2.VScode(VSCodeUserSetup-x64-1.36.1)友情提供下载地址VScode官网下载。强烈推荐VScode,比Pycharm好用得多得多得多,因为它是轻量级的!下载只需要几十M!
3.有一台远程可用的服务器
配置步骤:
1.在本地配置服务器的免密登录
这样做的目的是,每次用VScode打开远程服务器的时候,就不用输入一些繁琐的IP、密码等一类的信息了。
1)cmd打开命令提示符
2)在cmd下输入
ssh-keygen -t rsa -b 4096
生成SSH密钥和公钥(如下图红框所示)
(我记得此后连敲三下Enter就完成了,密钥id_rsa和公钥id_rsa.pub文件都默认保存在(C:\User\用户/.ssh)文件夹下)
3)将公钥文件id_rsa.pub传到远程服务器的authorized_keys文件中
在cmd下输入⬇️:
SET REMOTEHOST=your-user-name-on-host@host-fqdn-or-ip-goes-here
scp %USERPROFILE%\.ssh\id_rsa.pub %REMOTEHOST%:~/tmp.pub
ssh %REMOTEHOST% "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat ~/tmp.pub >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys && rm -f ~/tmp.pub"
* 解释一下:
第一行作用相当于设置变量名,REMOTEHOST设置格式为“你在服务器的用户名@服务器的ip地址”
例如我在服务器的用户名是“lpy”,远程服务器的ip为49.52.10.120,那么我的第一行代码就是
SET REMOTEHOST=lpy@49.52.10.120
第二行scp命令的详细知识可以参考scp使用说明,它是Linux系统下基于ssh登陆进行安全的远程文件拷贝命令。知道这条命令的作用之后,我们就能知道前半部分是本地公钥文件的位置,后半部分是远程服务器端当前目录下名为tmp.pub的文件,我们要把本地的公钥拷贝到这个临时文件里。
%USERPROFILE%就是本地主机的用户名,在C:\Users这里找,%REMOTEHOST%是我们刚刚已经SET过的哦,就不用管它啦。
至此我们在命令提示符这里的工作已经全部完成啦,是不是很简单!!接下来我们继续哦~
2.VScode上的配置
1)首先打开已经下载好的VScode,下载插件Remote-SSH,步骤如下。
插件下载完毕后,我们可以发现,功能列多了一个图标
2.同时按Ctrl+Shift+p显示如下
我们选第一行的内容得到下面的页面,继续选择第一行内容
我们可以得到config文件,内容如下
Host name-of-ssh-host-here
User your-user-name-on-host
HostName host-fqdn-or-ip-goes-here
举个例子,我的设置为
保存即可(现在可以看到你配置的机器啦 csffm2)
3)点击红框处的图标
等待VS Code建立连接后就可以通过File > Open或File > Open Workspace直接打开远程机器上的文件或文件夹进行开发调试啦~
左下角表面我已经连接成功
中间方框就是我服务器上的项目,完成!Yeap!!补充一点就是,师兄说VScode这里建立的是服务器端的一个映射,也就是说这里的环境是服务器端的,你在服务器端下载的所有开发包,在VScode这里都是可以用的,而且如果你之后还会在VScode下载其他包的话,服务器端也是会有的。
参考链接:https://code.visualstudio.com/docs/remote/troubleshooting#_installing-a-supported-ssh-client
VScode里面,若左边工具栏没有了小电脑的标志最好的解决办法就是uninstall后install,因为插件很小所以这样的操作是最快最省事儿的!Python也是,如果解释器找不到了就重装一下。
来源:https://blog.csdn.net/weixin_40607008/article/details/98471293


猜你喜欢
- 自己也百度了一下,然后写的,分为了三个部分,见三段代码代码:主程序代码import timefrom selenium&
- 经常使用python检测服务器是否能ping通, 程序是否正常运行(检测对应的端口是否正常)以前使用shell脚本的写法如下:PINGRET
- 1.sort()方法sort()是列表的方法,修改原列表使得它按照大小排序,没有返回值,返回NoneIn [90]: x = [4, 6,
- 1.安装less依赖:npm install less less-loader --save 2.修改webpack.base.config
- 背景:目前keras框架使用简单,很容易上手,深得广大算法工程师的喜爱,但是当部署到客户端时,可能会出现各种各样的bug,甚至不支持使用ke
- 本月的每月挑战会主题是NLP,我们会在本文帮你开启一种可能:使用pandas和python的自然语言工具包分析你Gmail邮箱中的内容。NL
- 一、概念介绍1、POST请求:HTTP/1.1 协议规定的 HTTP 请求方法有 OPTIONS、GET、HEAD、POST、PUT、DEL
- 利用Python处理数据时,处理完成后输出结果为二维的列表,如果我们想把这个列表输出到Excel中形成格式化的数据,其实和输出到TXT文件大
- 一、效果展示文件上传和展示:文件搜索:文件下载:删除文件:二、关键代码#urls.pyfrom django.urls import pat
- 这篇文章主要介绍了python检测服务器端口代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友
- //获取元素的样式值。 function getStyle(elem,name){ if(elem.style[name]){ return
- 很早前就遇到这个空值的属性,它既出现在 html 文档中,也出现在 xml 中,一直都回避,放之任之,反正也不影响文档的正确性。隐隐约约过了
- 一 概念固定窗口就像是滑动窗口的一个特例,固定窗口是大小固定且不能随着时间而变化的。滑动时间窗口就是把一段时间片分为多个样本窗口,可以通过更
- 一、静态方法(staticmethod)和类方法(classmethod)类方法:有个默认参数cls,并且可以直接用类名去调用,可以与类属×
- 前言Python 是每个程序员都喜欢的语言,因为它易于编码和易于阅读的语法。但是,你知道 python 有一些很酷的技巧可以用来让事情变得更
- 今天来说说xml那些事儿.如何批量修改指定文件夹下的xml文件的指定属性.分三步走,首先,我们先看看如何读写单个的xml文件;第二步,来看看
- 内置函数常用函数1.数学相关•abs(x)abs()返回一个数字的绝对值。如果给出复数,返回值就是该复数的模。>>>pri
- 其实就是利用文件“global.asa”!许多ASP编程新手都想知道这东西是什么?事实上,global.asa就是一个事件驱动程序,其中共包
- 导语不少人在生活中都有抠人像图换背景的需求。那怎么抠图呢?相信不少人第一时间就想到了 PS 抠图 * ,为了学会 PS 抠图很多人还花费不少精
- 问题最近在Laravel项目中用到了百度编辑器,插入到数据库我保存的是原始的html标签代码,没有进行实体转义。然后在修改的时候,需要读取到