ubuntu 如何登录远程服务器_VSCode远程登录云服务器、树莓派实现在线调试代码...

0eead674ad0728d92bb39299f55e4a45.png

在PyCon2019大会上,微软发布了VSCode Remote,开启了远程开发的新时代!Remote可以帮助开发者在容器、物理机器或虚拟机,以及WSL上实现无缝的远程开发。通过安装Remote Development Extension Pack,开发者可以快速上手远程开发。

对于ssh登录只支持x86-64 Linux服务器。

一.客户端配置

首先在vscode中安装remote插

7151b73b47c15018ca8c5c81cd143929.png

安装完成后就可以登录了,但是目前只能支持公钥登录方式。下面来介绍如何配置公钥。

二.SSH Server 和 SSH Client配置

首先在服务器端进行配置。这里作者使用的是树莓派做演示。使用下面命令安装ssh服务。

sudo apt-get install opens-server

再使用下面命令启动ssh服务

sudo service ssh start

最后使用下面命令检测ssh是否运行

sudo service ssh status

成功后如下图所示:

05f8fed950a4a00e793338e45d36076b.png

接下来就是在客户端生成公钥了,一般mac或者windows系统都安装了opensssh-client,在terminal界面里输入

ssh-keygen -t rsa

一路回车,就在当前目录下生成.ssh文件夹,里面就有自己的公钥和私钥,如图

ca68c368a80ccc1e1ef8d25836064c3b.png

其中id_rsa是我们的私钥,用于登录的凭证。id_rsa.pub是公钥,放在目标服务器就可用我们的私钥登陆远程服务器。
将id_rsa.pub中的字符串全部拷贝出来。
之后在服务器的目录下(一般是~/.),进入.shh文件夹,新创建一个authorized_keys2文件,将刚才的字符串全部拷贝到这个文件里保存并退出。mac或linux命令如下图

sudo nano id_rsa.pub

得到公钥如下图:

69e4364f37f73fbf71fa9b6a6450a4e0.png
注意权限问题,权限不正确无法登陆,authorized_key需要 chmod 600,.shh需要chmod 700权限,并且在/etc/ssh/sshd_config文件中RSAAuthentication yesPubkeyAuthentication yes这个两个存在

接下来在vscode中如图指向的地方点击设置会看到弹出一个config文件点击打开即可配置,Host表示登陆名,这个无所谓随便填,HostName为服务器地址 看你自己是多少,ifconfig命令可查看本机ip,User表示登陆服务器的用户名,编辑完即可保存退出

f1f774b78b443073f567e87544c6980e.png

下图为作者配置文件

ea98a37438e23e3d62f3c711e5cc9fb0.png

关闭config文件就出现下图,点击后面的文件+就登录到远程服务器了!!

40bc65c8bd748656483afa85f4cd1f55.png
这儿可以更改端口号,默认是22端口,如果像我是云服务器映射到树莓派上,可以直接更改端口号(折腾了好久才找到更改默认端口号的方法!)。

连接到服务器之后只需要在文件夹里找到你所想要调试的代码就可以在客户端运行了!

d0a99c775e313b769ec62229ea980ec3.png

然后在vscode中的命令行就能直接调试python代码了!!!

74f2354267958138896438f3fed35a10.png



微软发布的这一功能为远程调试提供了方便,现在只要你的主机能够映射到公网ip上,无论你在哪儿都可以调试你自己的代码。相信不少人会因为这一功能而转战vscode吧!现在vscode日益强大,里面内置的插件也是数不胜数,相信不久的将来,vscode将会成为程序员的标配!

目前vscode好像还不支持ssh用户名密码登录,所以只能使用ssh公钥方式登录。
如果有什么疑问,请在下面评论区评论!!!

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

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

相关文章

macosx jdk_MacOSX环境上的多个Java JDK

macosx jdk同样,这是在Mac(OSX 10.8.x )上配置Java开发环境的一个小技巧。 如果您现在真的开始,我建议您阅读我以前的文章之一 ,这是一种快速干净的方法(我想)来设置环境变量并开始Java编码。 今…

屏幕方向读取与锁定:Screen Orientation API(转)

什么是 Screen Orientation API Screen Orientation API 为 Web 应用提供了读取设备当前屏幕方向、旋转角度、锁定旋转方向、获取方向改变事件的能力。使得特定应用在屏幕方向方面增强用户体验,如视频和游戏。该标准目前处于工作组草案状态,最近一个修改…

scenebuilder各控件属性介绍_Flutter 全栈式——基础控件

在Flutter中,UI小控件有两种设计风格,一种是Material设计,这是安卓的官方设计风格,另一种则是Cupertino风格,是iOS的官方设计风格。因此,当遇到带有这两个单词开头的控件时,我们应该明确他们表达…

正义联盟的Spring靴

正义联盟的黑暗时代已经来临,强大的Darkseid即将征服人类。 蝙蝠侠在《神力女超人》的帮助下,努力使联盟与一个关键方面失联。 适当的正义联盟成员管理系统。 由于时间不在他们身边,他们不想经历繁琐的过程,从头开始用他们需要的所…

Fetch

fetch是一种HTTP数据请求的方式,是XMLHttpRequest的一种替代方案。fetch不是ajax的进一步封装,而是原生js。Fetch函数就是原生js,没有使用XMLHttpRequest对象。 ajax 使用步骤1.创建XmlHttpRequest对象2.调用open方法设置基本请求信息3.设置发…

boost安装_Centos安装MySQL

安装MySQLMySQL 各版本介绍视频观看:https://www.bilibili.com/video/BV1ap4y1i75jMySQL 官网:https://www.mysql.com/cn/MySQL Community Server社区版本,开源免费,但不提供官方技术支持。MySQL Enterprise Edition 企业版本,需付费&#xf…

选择Java加密算法第3部分–公钥/私钥非对称加密

抽象 这是涵盖Java加密算法的三部分博客系列的第3部分。 本系列介绍如何实现以下目标: 使用SHA–512散列 使用AES–256的单密钥对称加密 RSA–4096 这第三篇文章详细介绍了如何实现非对称的RSA-4096公/私钥加密。 让我们开始吧。 免责声明 这篇文章仅供参考。 …

Error: Cannot find module '@babel/core'

官方默认babel-loader需要搭配最新版本babel 更新到最高版本: npm install -D babel-loader babel/core babel/preset-env webpack 转载于:https://www.cnblogs.com/nocry/p/11493363.html

javabeans_膨胀的JavaBeans –不要在您的API中添加“ Getters”

javabeans我已经最近在博客的想法的JavaBeans™如何可以扩展以减少在Java世界中,这被广泛接受的公约设立的膨胀。 该文章在DZone上重新发布,并在这里获得了颇具争议的反馈(例如,大多数试图将一些新想法带入Java世界的想法&#xf…

uniapp 子组件 props拿不到数据_来吧!一文彻底搞定Vue组件!

点击蓝色 “达达前端小酒馆” 关注我哦!加个 “星标” ,每天一篇文章,一起学编程作者 | Jeskson来源 | 达达前端小酒馆Vue组件的概述组件是什么呢,了解组件对象的分析,Vue组件中的data属性,props传递数据的原理到底是…

csp-s模拟测试41「夜莺与玫瑰·玫瑰花精·影子」

夜莺与玫瑰 题解 联赛$T1$莫比乌斯$\%\%\%$ $dead$ $line$是直线 首先横竖就是$nm$这比较显然 枚举方向向量 首先我们枚举方向向量时只枚举右下方向,显然贡献$*2$就是所有斜着的直线 $i,j$表示当自己向右$i$个单位长度,向下$j$单位长度 我们相同斜率下只算最短的线贡献,(因为其…

春天重试,因为冬天来了

好的,这实际上与冬天无关,众所周知,冬天已经到了 。 它是关于Spring Retry的,Spring是一个小的Spring框架库,它使我们可以将重试功能添加到应可重试的任何任务中。 这里有一个很好的教程 ,解释了如何设置简…

python做些什么项目_Python 的练手项目有哪些值得推荐

1 Web方向的练手项目 这个其实是肯定不用多少的了。Python的练手项目就是可以做一个网站了。我们可以做一个属于自己的博客。在做博客的时候,我们可以巩固的知识点是 HtmlCSSJS的基础知识,以及熟练的运用Python的Web开发框架(例如Django或者F…

删除某个时间段之前的文件

/* * 删除文件夹下$n分钟前创建的文件 * param $dir 要处理的目录,物理路径,结尾不加\ * param $n 过期时间,单位为分钟 * return void */function z_del_file_by_ctime($dir,$n){ if(is_dir($dir)){ if($dhopendir($dir)){ …

技术管理规划-路径跟资源

背景 评估团队的投入和产出或者给上级做汇报,都需要弄清楚需要投入多少资源,而资源主要跟两个因素息息相关,即团队目标,此外还有路径和手段; 增加人力前的三个问题? 1.资源的丰富性? 人&#xf…

python保存代码_python入门(5)使用文件编辑器编写代码并保存执行

原博文 2017-04-21 17:21 − python入门(5)使用文件编辑器编写代码并保存执行 两款文本编辑器: 一个是Sublime Text,免费使用,但是不付费会弹出提示框: 一个是Notepad,免费使用,有中…

lucene索引搜索_Lucene –快速添加索引和搜索功能

lucene索引搜索什么是Lucene? Apache LuceneTM是完全用Java编写的高性能,功能齐全的文本搜索引擎库。 它是一项适用于几乎所有需要全文本搜索的应用程序的技术,尤其是跨平台。 Lucene可以纯文本,整数,索引PDF&#xf…

从graphql endpoint获取schema文件

graphql server端有更新,client端需要重新获取schema文件用于创建新的api request,下面简要记录如何从graphql endpoint获取schema文件 You can simply install the CLI using npm or yarn by running the following command. This will add the graphql…

pythonclass全局变量_python的局部变量,全局变量,类变量,实例变量

定义: a、全局变量:在模块内、在所有函数外面、在class外面,这就是全局变量。 b、局部变量:在函数内、在class的方法内(未加self修饰的),这就是局部变量。 c、 静态变量:在class内的…

使用JUnit 5测试异常

JUnit 5带来了令人敬畏的改进,它与以前的版本有很大的不同。 JUnit 5在运行时需要Java 8,因此Lambda表达式可以在测试中使用,尤其是在断言中。 这些断言之一非常适合测试异常。 设置项目 为了演示JUnit 5的用法,我使用了我的长期…