VSCode使用 - Remote-SSH 配置说明
<p style="text-indent: 2em;">我的环境说明:</p><p style="text-indent: 2em;">本地环境:Windows 11</p><p style="text-indent: 2em;">远端环境:Ubuntu 22.04 LTS(运行在虚拟机中)</p><p class="artical_littlestyle1">Remote-SSH简介</p><p style="text-indent: 2em;">Remote-SSH是一个VSCode的插件,Remote-SSH可以让你使用任何带有SSH服务的远端机器作为你的开发环境。这可以大大简化各种情况下的开发和故障排除。使用了Remote-SSH插件之后,你可以:<br/></p><ul style="list-style-type: disc;" class=" list-paddingleft-2"><li><p style="text-indent: 0em;">在您部署的同一操作系统上进行开发,或者使用比本地计算机更大、更快或更专业的硬件。</p></li><li><p style="text-indent: 0em;">在不同的远程开发环境之间快速切换,并安全地进行更新,而无需担心影响本地计算机。<br/></p></li><li><p style="text-indent: 0em;">从多台计算机或多个位置访问现有开发环境。<br/></p></li><li><p style="text-indent: 0em;">调试在其他地方(如客户站点或云中)运行的应用程序。</p></li></ul><p class="artical_littlestyle2">Remote-SSH安装和环境准备</p><p style="text-indent: 2em;">首先安装VSCode,然后在扩展中搜索"Remote",安装搜索到的"Remote-SSH"和"Remote-Containers","Remote-SSH: Editing Configuration"插件会在安装"Remote-SSH"插件时自动安装:</p><p style="text-align:center"><img src="/uploads/AilsonJack/2022.06.17/213751072659789.png" onclick="preview_image('/uploads/AilsonJack/2022.06.17/213751072659789.png')"/></p><p style="text-indent: 2em;">确保远端环境(Ubuntu 22.04 LTS)中SSH服务可用。<br/></p><p style="text-indent: 2em;">确保本地环境中支持SSH,这个可以通过安装Git来获取SSH功能。<br/></p><p class="artical_littlestyle3">SSH密钥配置</p><p style="text-indent: 2em;">本节将在Windows上生成SSH密钥,然后部署到Ubuntu 22.04 LTS系统中,这样每次重启VSCode之后,使用Remote-SSH访问Ubuntu 22.04 LTS系统中的文件时,不需要手动输入密码了。<br/></p><p style="text-indent: 0em;">1.生成SSH密钥文件<br/></p><p style="text-indent: 2em;">在Windows系统上执行下述命令生成SSH密钥:<br/></p><pre class="brush:bash;toolbar:false PrismJs">ssh-keygen</pre><p style="text-indent: 2em;">输入上述命令之后,遇到等待时,直接按ENTER键保持默认,需要敲击3次ENTER键,然后就会在 <span style="color: rgb(0, 112, 192);">C:\Users\AilsonJack\.ssh</span> 目录中产生SSH密钥文件:<span style="color: rgb(0, 112, 192);">id_rsa</span> 和 <span style="color: rgb(0, 112, 192);">id_rsa.pub</span>。<br/></p><p style="text-indent: 0em;">2.部署密钥文件到Ubuntu<br/></p><p style="text-indent: 2em;">首先,确保当前用户的用户目录下是否存在 .ssh 目录(我这里的完整路径为:/home/ailsonjack/.ssh ),执行下述命令,查看输出信息中是否有 .ssh 目录:</p><pre class="brush:bash;toolbar:false PrismJs">ls -al ~</pre><p style="text-indent: 2em;"><span style="color: rgb(235, 235, 235); font-family: -apple-system, BlinkMacSystemFont, "Segoe UI Emoji", "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, sans-serif; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(47, 52, 55); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;"></span>如果不存在 .ssh 目录,那么执行下述命令进行创建:</p><pre class="brush:bash;toolbar:false PrismJs">mkdir ~/.ssh</pre><p style="text-indent: 2em;">通过FTP,SFTP,samba等方式将生成的 id_rsa.pub 文件传输到Ubuntu 22.04 LTS系统中的 /home/ailsonjack/.ssh 目录中。<br/></p><p style="text-indent: 0em;">3.生成 authorized_keys 文件<br/></p><p style="text-indent: 2em;">进入 /home/ailsonjack/.ssh 目录,然后使用下述命令,生成 authorized_keys 文件:</p><pre class="brush:bash;toolbar:false PrismJs">cat id_rsa.pub > authorized_keys</pre><p class="artical_littlestyle4">Remote-SSH配置</p><p style="text-indent: 2em;">下面将讲述一下Remote-SSH的一些配置,完成Remote-SSH的配置之后,就可以通过Remote-SSH访问Ubuntu 22.04 LTS系统中的文件或者文件夹,就像在本地电脑开发一样。<br/></p><p style="text-indent: 2em;">打开VSCode,然后点击左侧的 “远程资源管理器” 图标,接着点击右上角的小齿轮(设置):</p><p style="text-align:center"><img src="/uploads/AilsonJack/2022.06.17/213751261695432.png" onclick="preview_image('/uploads/AilsonJack/2022.06.17/213751261695432.png')"/></p><p style="text-indent: 2em;">在弹出来的窗口中,选择第一项,打开 config 文件,然后填写配置信息:</p><p style="text-align:center"><img src="/uploads/AilsonJack/2022.06.17/213751668210958.png" onclick="preview_image('/uploads/AilsonJack/2022.06.17/213751668210958.png')"/></p><p style="text-align:center"><img src="/uploads/AilsonJack/2022.06.17/213751526213768.png" onclick="preview_image('/uploads/AilsonJack/2022.06.17/213751526213768.png')"/></p><p style="text-indent: 2em;">配置信息的文字内容如下:<br/></p><pre class="brush:bash;toolbar:false PrismJs">Host Ubuntu22.04
HostName 192.168.1.5
User ailsonjack
IdentityFile C:\Users\AilsonJack\.ssh\id_rsa</pre><p style="text-indent: 2em;">上述配置信息的注释如下:</p><pre class="brush:bash;toolbar:false PrismJs">Host <远程主机名称>
HostName <远程主机IP>
User <用户名>
IdentityFile <本机SSH私钥路径></pre><p style="text-indent: 2em;">在完成上述配置之后,进入 “远程资源管理器” 选项,右键点击主机名,然后选择“Connect to Host in Current Window”或者“Connect to Host in New Window”:</p><p style="text-align:center"><img src="/uploads/AilsonJack/2022.06.17/213752539899721.png" onclick="preview_image('/uploads/AilsonJack/2022.06.17/213752539899721.png')"/></p><p style="text-indent: 2em;">如果连接成功,左下角则会显示当前已连接的主机名:</p><p style="text-align:center"><img src="/uploads/AilsonJack/2022.06.17/213752959319135.png" onclick="preview_image('/uploads/AilsonJack/2022.06.17/213752959319135.png')"/></p><p style="text-indent: 2em;">点击“打开文件夹”可以打开Ubuntu系统中的文件夹,我这里打开了Ubuntu系统中的Linux内核文件夹,此时我们就可以在Windows系统中,利用VSCode的Remote-SSH插件阅读Ubuntu系统中的Linux内核源码,是不是很酷:</p><p style="text-align:center"><img src="/uploads/AilsonJack/2022.06.17/213752415637318.png" onclick="preview_image('/uploads/AilsonJack/2022.06.17/213752415637318.png')"/></p><p class="artical_littlestyle1">安装插件到远端系统</p><p style="text-indent: 2em;">当我们完成对Remote-SSH的配置之后,VSCode 支持在 远程服务器 安装插件。此时我们可以根据自己的需求安装插件到远端系统,也可以将本地的插件一键全部安装到远端系统:</p><p style="text-align:center"><img src="/uploads/AilsonJack/2022.06.17/213752557602387.png" onclick="preview_image('/uploads/AilsonJack/2022.06.17/213752557602387.png')"/><br/></p><p style="text-indent: 2em;">点击上图中红色方框的图标,就可以将本地的插件一键全部安装到远端系统。</p>
暂无评论,要不要来个沙发
发表评论
JLink V9掉固件修复(灯不亮) 3Zephyr笔记2 - 在STM32F429上运行HelloWorld 2计算NandFlash要传入的行地址和列地址 1Linux MMC子系统 - 6.eMMC 5.1工作模式-设备识别模式 0Linux MMC子系统 - 5.eMMC 5.1工作模式-引导模式 0Linux MMC子系统 - 4.eMMC 5.1常用命令说明(2) 0
标签云
Linux嵌入式实用技巧ARM内核学习问题集合CC++编程语言阅读笔记汇编Linux内核完全注释Windows驱动开发计算机基础ARM11ARMv7-ASTM32IDESublimeLinux内核学习eMMCMMC子系统Ubuntu操作系统OfficeVMWareAPUEgccRTOS中断漫游世界随笔感悟开发工具软件应用编程VsCodearmccarmclang编译器ZephyrSPIJLink网卡驱动安装各种芯片库函数NFSμCOS内核sambaFlashUnix命令与脚本输入法Linux内核设计与实现gitRIFFWAVJATGFTPar8161安装centos有线上网μCGUI字库工程建立右键菜单网络文件系统Firefox百度NTFS文件系统CodeBlocksCentOS数据结构算法PhotoShop51KeilQTUltraEditscanfglibc宏定义UIDGID优先级娱乐天地SourceInsight磁盘扇区总线I2CPDFBComparePythonI2SFPUMakefileSWDCPUARP软件推荐FileZilla