vscode 使用ssh进行远程开发 (remote-ssh)

这篇具有很好参考价值的文章主要介绍了vscode 使用ssh进行远程开发 (remote-ssh)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

介绍

visual studio code remote - ssh 可以通过ssh连接远程主机、虚拟机,打开远程文件夹,并利用vscode 的插件优势进行远程开发、调试等。
vscode使用ssh,vscode,linux

步骤

一、配置环境

因为remote-ssh 的ssh连接是基于openssh实现的,以及后续我们需要使用生成ssh密钥需要git,所以我们需要准备:

  • OpenSSH
  • Git版本不低于1.9

如果你已经安装了以上环境,请移步到下一个步骤。

1、git安装

可以参考这篇博客:Git 详细安装教程(详解 Git 安装过程的每一个步骤)
git安装过程中,会出现是否需要捆绑OpenSSH,根据自己的使用习惯选择。

2、OpenSSH安装

上面选捆绑请忽略。

你可以通过这篇微软的文档进行安装:安装 OpenSSH
不过我这里也会也会赘述一遍步骤:

#用管理员身份运行PowerShell
Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH*'
# 安装OpenSSH客户端 (这里我们只需要客户端)
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
3、确认安装

当你安装成功后,可以在控制台确认是否安装

git
vscode使用ssh,vscode,linux

ssh
vscode使用ssh,vscode,linux

二、在vscode添加remote ssh插件

选择左侧栏的扩展,并搜索remote ssh
它大概长这样,点击安装
vscode使用ssh,vscode,linux

安装成功后,在左侧栏会出现远程连接的图标,点击后选择ssh旁加号便可以进行连接。
vscode使用ssh,vscode,linux

三、连接

选择连接后将会出现以下内容
vscode使用ssh,vscode,linux
输入 ssh 主机用户名@主机地址 -A 连接远程主机(输入-A 在配置文件中会产生ForwardAgent yes 目的是希望使用本地电脑里的密钥登录,且不想把这个密钥发送到堡垒机)进行配置。

此时,右下角会显示连接或者打开配置文件的选项,你可以直接连接,也可以打开配置文件,(第一次好像会让你选择一个并生成配置文件,直接选择user/用户名/.ssh下即可)

如果打开配置文件会出现一下内容
vscode使用ssh,vscode,linux

选择密码认证

没有点直接连接,点击远程旁边的刷新按钮就可以。
选择主机连接,选择平台,输入密码,就可以远程连接到远程主机了
(如果平台选择错误可以在vscode设置中输入remote.SSH.remotePlatform修改它)
vscode使用ssh,vscode,linux

选择连接后,会产生一个新的空窗口,你可以始终参考左下角查看查看你的连接状态
vscode使用ssh,vscode,linux

连接成功后,可以在资源管理器打开你的项目文件。
vscode使用ssh,vscode,linux

不过使用密码验证,每次连接都要重新输入密码,十分麻烦,可以选择,使用ssh密钥的身份验证,就不用反复输入。

选择ssh密钥认证

1、在本地终端生成密钥

这里提供两种方法
方法1:直接输入ssh-keygen,跟着程序的引导来选择

ssh-keygen

方法2:预先指定参数,请确保你已经安装了git,且版本大于1.9

# -t 加密类型 -b 指定指定要创建的密钥的位数
ssh-keygen -t rsa -b 4096

更多参数设置:oracle手册----ssh-keygen

这里我演示第二种。
口令默认为空,你可以选择使用口令保护私钥文件。如果你不想在每次使用 SSH 协议访问仓库时,都要输入用于保护私钥文件的口令,可以在创建密钥时,输入空口令,即直接回车
vscode使用ssh,vscode,linux

此处私钥保存在C:\Users\20447/.ssh/id_rsa
公钥保存在C:\Users\20447/.ssh/id_rsa.pub

2、将公钥复制到远程主机,并安装

将公钥复制到远程主机的~/.ssh文件下。
你可使用FTP或者SFTP传输到主机,这里我用FileZilla作为文件传输工具(如果你对使用FileZilla管理文件有需求的话,使用时建议使用root用户登入,因为一些文件操作权限不够无法操作)
vscode使用ssh,vscode,linux

在远程主机端上安装公钥

cd .ssh
cat id_rsa.pub >> authorized_keys #安装公钥

设置文件权限提高安全性

chmod 600 authorized_keys  #所有者可读写
chmod 700 ~/.ssh           #所有者可读可写可执行

3、回到 vscode 在之前配置文件中添加 IdentityFile $私钥路径$
选SSH旁边的设置快速移至config文件
vscode使用ssh,vscode,linux

vscode使用ssh,vscode,linux

保存后重新连接,就不用一直用密码认证了。

四、关于配置文件

前面说过remote-ssh时基于openssh的插件,所以配置文件遵循 openssh SSH 配置文件格式(sshd_config),可以使用ssh格式进行配置。

这里选择只列举常用的配置格式,如果你有想了解或者有更多需求请,参考sshd_config(5) — Linux manual page

Host $远程主机名$   #可以自定义,目的是知道自己用什么主机
  HostName $远程主机IP$
  User $用户名$
  Port $ssh端口$   #不写默认22
  IdentityFile $本机SSH私钥路径$
  ForwardAgent yes $希望使用本地电脑里的密钥登录,且不想把这个密钥发送到堡垒机,之前添加 -A生成$

如果你需要连接多个主机,在配置文件,按上述配置添加多个这个

Host $远程主机名1$
  HostName $远程主机IP1$
...

Host $远程主机名2$
 HostName $远程主机IP2$
...

Host n...

五、安装插件到远程主机

在连接上远程主机后,可以在安装页面主动选择安装位置。
vscode使用ssh,vscode,linux

根据自己的需要在vscode安装、卸载或禁用在远程主机中的插件,为远程开发提供便利。
vscode使用ssh,vscode,linux

六、关于可能出现的问题,导致连接失败

因为我按上述操作时没有出现问题,关于问题这一点,我建议出错时,搜索时使用openssh作为关键词作为出发点,并且留意下角的输出窗口,判断错误类型。
一些错误问题,可以下方参考1中的解决细节

这里提供一种错误解决方法

  • 如果你因为某种原因重置系统或者重置ssh,导致无法连接
    可能是因为原先的主机密匙和现在的主机密匙不一致,
    可以尝试删除 c:\user\用户名.ssh 中的known_hosts文件,
    该方法有点粗糙,如果你有新的见解,欢迎在评论区留言。

七、其他连接方式

除了ssh连接方式,还有WSL,Dev Containers等连接方式,VS code均有扩展,你可以安装自己的开发习惯选择
vscode使用ssh,vscode,linux

参考:

1、VSCode使用Remote SSH连接远程服务器
2、使用 SSH 进行远程开发文章来源地址https://www.toymoban.com/news/detail-517929.html

到了这里,关于vscode 使用ssh进行远程开发 (remote-ssh)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【VScode】Remote-SSH XHR failed无法访问远程服务器

    当使用VScode连接远程服务器时,往往需要使用Remote-SSH这个插件。而该插件有一个小bug,当远程服务器网络不佳时容易出现。 在控制台会出现下述语句: 该插件在连接远程服务器时,插件会在服务器端自动运行一个脚本。该脚本的主要内容是检查服务器的vscode-server的运行情况

    2024年02月14日
    浏览(60)
  • vscode出现:Remote-SSH XHR failed无法访问远程服务器

    在控制台会出现下述语句: Resolver error: Error: XHR failed at y.onerror (vscode-file://vscode-app/d:/Microsoft%20VS%20Code/resources/app/out/vs/workbench/workbench.desktop.main.js:77:1261) 1、在虚拟机中获取commit id。 cd ~/.vscode-server/bin abd2f3db4bdb28f9e95536dfa84d8479f1eb312d 例如,我的commit id就是abd2f3db4bdb28f9e95536dfa8

    2024年02月04日
    浏览(67)
  • vscode-insiders Remote-SSH XHR failed无法访问远程服务器

    问题概述: 在连接远程服务器时,会在服务器端自动运行一个vscode-server脚本,当网络出现问题时,下载出错可能就会连接失败。 看到目录下有该文件,但是解压缩时出错。说明文件本身有问题,但是由于已经存在该文件所以不会重新下载。因此删除该文件,重新打开vscode,

    2024年02月03日
    浏览(43)
  • vscode使用remote-ssh免密连接服务器

    你还在使用 XShell 、 Hyper 、 FinalShell 等等 SSH客户端软件 吗,作为前端的我们,一直在用的功能强大的开发工具vscode,早已实现 SSH 连接功能(借助官方提供的插件)。而且更加好用,可以直接打开服务器上的文件,直接在vscode中修改、保存。 按照下面的步骤安装配置,去发

    2024年04月27日
    浏览(44)
  • VSCode使用Remote-SSH连接服务器时报错:启动服务器失败问题

      第一天上班,回来发现又不能使用VScode连不上服务器了,在「输出」栏出现了一直报 Waiting for server log… 的情况!本来以为是普通的连接不上,用了一些方法,最后在弹出框里报的错居然是 启动服务器失败 ,好吧,又是一个新的问题。经过查阅相关文档可知,原来是因

    2024年02月21日
    浏览(53)
  • vscode remote-ssh配置

    使用vscode的插件remote-ssh进行linux的远程控制。 在vscode上安装完remote-ssh插件后,还需要安装openssh-client。 openssh-client安装 先 win + R 打开cmd,输入 ssh ,查看是否已经安装了。 如果没有安装,用管理员权限打开powershell 运行以下代码,查看信息 如果client和server都没有安装,会显

    2024年02月16日
    浏览(45)
  • VSCode Remote-SSH (Windows)

    VSCode Follow the step-by-step tutorial or if you have a simple SSH host setup, connect to it as follows: Press F1 and run the Remote-SSH: Open SSH Host… command. Enter your user and host/IP in the following format in the input box that appears and press enter: user@host-or-ip or user@domain@host-or-ip If prompted, enter your password (but we suggest setti

    2024年02月14日
    浏览(45)
  • vscode使用remote--ssh进行远程连接报错Resolver error: Error: Connecting with SSH timed out

    vscode的报错如下所示: 我在github上找到处理方式,国内的网站没有找到; 如下所示: 在界面中手动修改也行: 将 User Local Server 的勾选去掉。

    2024年02月17日
    浏览(53)
  • VSCode remote-ssh 连接远端服务器失败

    系统         Mac os Intel处理器 描述         该问题在上午时还没有,下午突然毫无征兆的发生,当时没有更新vscode,没有更新插件。 分析         网上对于该问题的答案多是说磁盘空间不够vscode不能下载相应插件,我所遇到的并不是这种情况。报的错误多是bash的

    2024年02月04日
    浏览(45)
  • 树莓派ubuntu:vscode remote-ssh免密登录(Mac)

    Vscode remove-ssh远程开发很方便,但是每次登陆都会频繁要求输入密码,使用期间也会多次断开重连,提示再次输入密码。 可能因为我开发板的ubuntu系统用的后来创建的用户的原因,按网上的文章始终无法实现免密登录,多次尝试后如下方式解决,整理如下: 1. 本地生成key 生

    2024年01月21日
    浏览(74)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包