在VScode中使用SSH进行远程开发

前言

本文是Jetson_Nano无人车开发系列中关于远程开发的分享。

在Linux开发中,大部分情况下由于设备空间有限主板是无法携带显示器的,所以我们需要使用远程的方式进行开发。关于远程软件可以根据其是否带桌面分为两大类。带桌面的远程开发工具有很多,比如:TeamViewer、Nomachine、MobaXterm等。但是带桌面其传输的数据量大,就会导致延迟的现象,使用起来很不爽。不带桌面的也很多,例如:putty、Xshell、等。今天主要是分享vscode与ssh结合使用进行开发,这样既有命令行,也有编辑器,开发起来效率会有显著提升。当然,如果可以熟练使用vim,emacs等命令行编辑器的话开发效率是最高的,但vim的插件配置起来简直是令人头疼,尤其是自动补全插件YouCompletMe,安装起来一言难尽。所以,结合vscode和ssh进行远程开发是一个不错的选择。


一、安装ssh

win10一般是自带ssh工具,无需专门下载。仅在nano上安装即可。

1、在nano上安装ssh

sudo apt update
sudo apt install openssh-server

2、开启ssh服务

sudo service sshd start

3、确认是否开启

在终端中输入以下命令,如果已启动,会打印:[+] ssh

service --status-all | grep ssh

二、ssh常用命令

scp传输命令,如果传输的是文件夹,在命令里添加-r即可

scp [PC文件路径] [nano账号]@[nanoip]:[nano路径]    #PC发送给nano

scp [nano账号]@[nanoip]:[nano路径] [PC文件路径]    #nano发送给PC

三、免密登录

使用ssh登陆的时候需要我们在命令行里输入密码,每次都输就有点麻烦,其实主要还是懒,我们可以添加密钥,这样两台常用机器之间登录就可以省去输密码。

前提:主机A与主机B均安装并打开ssh服务,且在同一局域网下。

主机A与主机B可以都是Linux系统,也可以一个是Windows一个是Linux。在这里,主机A是我的笔记本win10,主机B是Nano。依次执行以下操作,可以免去从主机A登录主机B时的密码。为了方便以后登录,最好是给主机B配置静态IP。

1、在主机A上生成rsa密钥:

打开cmd,输入以下命令:

ssh-keygen -t rsa

2、将A主机生成的公钥拷贝到B主机上

在cmd终端先执行以下内容:

function ssh-copy-id([string]$userAtMachine, $args)
{ 
    $publicKey = "$ENV:USERPROFILE" + "/.ssh/id_rsa.pub" 
    if (!(Test-Path "$publicKey"))
        { Write-Error "ERROR: failed to open ID file '$publicKey': No such file" }
    else 
        { & cat "$publicKey" | ssh $args $userAtMachine "umask 077; test -d .ssh || mkdir .ssh ; cat >> .ssh/authorized_keys || exit 1" } 
}

再执行:

ssh-copy-id [nano账号]@[nanoip]

配置好之后登录效果如下:

在VScode中使用SSH进行远程开发_第1张图片

 图3.1:免密登录效果图

四、vscode中使用ssh

注意:remote-ssh一定不要安装最新版本!!!

在Windows安装Vscode,并在插件管理的地方下载插件remote-ssh。 

在VScode中使用SSH进行远程开发_第2张图片

                                        图4.1:下载步骤

安装完成之后,左边栏和左下角会出现图标:

在VScode中使用SSH进行远程开发_第3张图片

 图4.2:remote-ssh使用入口

随便点击上面两个入口中的一个,然后按照vscode的提示一步一步添加要登陆的机器即可。

再次注意:一定不要安装最新版本的remote-ssh插件!!!

添加好机器后,检查用户目录下.ssh文件夹中的config配置文件,正确格式如下:

Host 别名
    HostName 配置好的Nano静态IP
    User Nano用户名

图4.3:配置文件格式

配置好之后登录效果如下,这是登陆成功nano并在vscode上打开Nano家目录下的.bashrc文件的图示。左下角绿色部分显示的是连接情况。

在VScode中使用SSH进行远程开发_第4张图片

图4.4:效果展示

remote-ssh也支持使用tmux,点击终端右边的加号就可以看到。

在VScode中使用SSH进行远程开发_第5张图片

图4.5:效果展示


 

 

总结:

        本文介绍了ssh如何安装与一些常用命令和如何在vscode中使用ssh。

        由于笔者水平有限,出现错误也是在所难免,随时欢迎各位的交流与批评指正。 

        本文为原创博客,如需转载,请联系本人,注明出处即可。

你可能感兴趣的:(vscode,ide,编辑器)