IDE之vscode:连接远程服务器代码(亲测OK),与pycharm链接服务器做对比(亲自使用过了),打开文件夹后切换文件夹。

简介: 本文介绍了如何使用VS Code通过Remote-SSH插件连接远程服务器进行代码开发,并与PyCharm进行了对比。作者认为VS Code在连接和配置多个服务器时更为简单,推荐使用VS Code。文章详细说明了VS Code的安装、远程插件安装、SSH配置文件编写、服务器连接以及如何在连接后切换文件夹。此外,还提供了使用密钥进行免密登录的方法和解决权限问题的步骤。

前言

一、链接服务器vscode和pycharm的对比

1、pycharm

  1. pycharm链接服务器需要专业版本,社区版本不行
  2. pycharm配置麻烦,不如vscode简单。
  3. 如果要链接多个服务器,不如vscode配置简单,pycharm每个都要重新配置,而vscode只需要配置C:\Users\feng\.ssh\config文件即可(本博文有说明)
  4. 但是开发习惯好用。debug方便。目前我也就发现这么一个优点了

2、vscode

  1. vscode 安装简单,使用插件即可链接服务器。
  2. 链接多个服务器,配置简单。
  3. debug相对麻烦一些,但是还好。

3、总结

推荐使用vscode。

二、VS Code的安装与下载

vscode 的全称是 Visual Studio
官网传送门:https://code.visualstudio.com/
下站列表传送门:https://code.visualstudio.com/Download
下载安装比较简单,不做演示

三、链接远程服务器

1、安装远程插件:Remote-SSH

打开vscode,在左边找到插件商店,搜索 ssh ,找到remote-ssh,也是下载次数最多的,进行下载安装。
在这里插入图片描述

下载完后,vscode的左边会出现电脑的小图标,如下所示:

在这里插入图片描述

2、写ssh配置文件

点击下图中的+号。

在这里插入图片描述

填写链接服务器内容。

在这里插入图片描述

如下所示:后面的IP换成你要链接的远程服务器IP即可。
在这里插入图片描述

点击回车,出现下图,继续回车,这里是链接ssh的配置文件。
保存之后,会将刚才的连接信息存储在 C:\Users\feng\.ssh\config

在这里插入图片描述

选中刚刚创建的目录,在左侧就可以看到远程服务器站点

在这里插入图片描述

点击下图设置按钮也可以对信息进行修改,也可以添加多个服务器配置,每添加一个,就会在左边列表增加一个。

在这里插入图片描述

选择第一个

在这里插入图片描述

下图就是ssh的配置文件了。

在这里插入图片描述

介绍一下参数:

Host name        # name值可以随意取
  HostName ip    # ip是服务器地址
  User 用户名    # 登录的用户名
  Port port       # 端口号,一般是22,我这里不是,按需填写
AI 代码解读

我一般会修改一下host,改为ip的后两个。

点击下左侧刷新,列表也会更新为 Host的值。

在这里插入图片描述

3、链接服务器

点击下图的箭头,就是进入服务器

在这里插入图片描述

下图,选择Linux

在这里插入图片描述

下图,点击 Coninue

在这里插入图片描述

下图,输入密码即可。

在这里插入图片描述

4、登录成功,打开文件夹

登录成功后,回到文件夹位置,需要手动打开,如下图所示。

在这里插入图片描述
剩下的按提示输入即可

在这里插入图片描述

到此完毕

四、打开文件夹后,切换文件夹

1、原因

上面第三章第四小节中选择打开了一个文件夹,但是突然想打开一个家目录的文件夹。此时应该怎么做呢?

2、 ‌通过命令面板重新选择文件夹

  1. 使用快捷键 Ctrl+Shift+P(Windows) 或 Cmd+Shift+P (Mac)打开 命令面板

    在这里插入图片描述

  2. 在命令面板中输入:File: Open Folder 并选择该命令,这将打开一个文件浏览器窗口,让你选择新的文件夹。

    在这里插入图片描述

  3. 选择你想要打开的新文件夹,并点击“打开”按钮。

  4. 可能会输入密码。输入即可

3、‌通过菜单选项重新选择文件夹‌:

  1. 在VS Code的菜单栏中选择 文件
  2. 在下拉菜单中选择 打开文件夹 。也可以使用快捷键 Ctrl+K 然后按 Ctrl+O (这两个快捷键需要连按,Ctrl不松手)。
  3. 在弹出的对话框中浏览并选择你想要打开的文件夹。
  4. 点击“选择文件夹”按钮确认你的选择。

在这里插入图片描述

五、vscode使用密钥免密登录

1、添加配置参数IdentityFile即可

加个参数,指向自己的密钥地址即可

Host custom_name
  HostName ip
  User user_name
  IdentityFile 密钥路径
AI 代码解读

2、报错

[14:59:57.719] Running script with connection command: "C:\Windows\System32\OpenSSH\ssh.exe" -T -D 64899 "16.86-feng" bash
[14:59:57.720] Terminal shell path: C:\Windows\System32\cmd.exe
[14:59:58.034] > Bad permissions. Try removing permissions for user: NT AUTHORITY\\Authenticated Users (S-1-5-11) on file D:/linux-miyao/16.86/id_1686.
> @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
> @         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
> @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
> Permissions for 'D:\\linux-miyao\\16.86\\id_1686' are too open.
> It is required that your private key files are NOT accessible by others.
> This private key will be ignored.
> Load key "D:\\linux-miyao\\16.86\\id_1686": bad permissions
> feng@192.168.16.86: Permission denied (publickey).
> 过程试图写入的管道不存在。
> ]0;C:\Windows\System32\cmd.exe
[14:59:58.034] Got some output, clearing connection timeout
[14:59:59.295] "install" terminal command done
[14:59:59.296] Install terminal quit with output: ]0;C:\Windows\System32\cmd.exe
[14:59:59.296] Received install output: ]0;C:\Windows\System32\cmd.exe
[14:59:59.296] Failed to parse remote port from server output
[14:59:59.297] Resolver error: Error: 
    at m.Create (c:\Users\feng\.vscode\extensions\ms-vscode-remote.remote-ssh-0.113.1\out\extension.js:2:501230)
    at t.handleInstallOutput (c:\Users\feng\.vscode\extensions\ms-vscode-remote.remote-ssh-0.113.1\out\extension.js:2:498552)
    at t.tryInstall (c:\Users\feng\.vscode\extensions\ms-vscode-remote.remote-ssh-0.113.1\out\extension.js:2:623316)
    at async c:\Users\feng\.vscode\extensions\ms-vscode-remote.remote-ssh-0.113.1\out\extension.js:2:582788
    at async t.withShowDetailsEvent (c:\Users\feng\.vscode\extensions\ms-vscode-remote.remote-ssh-0.113.1\out\extension.js:2:586054)
    at async k (c:\Users\feng\.vscode\extensions\ms-vscode-remote.remote-ssh-0.113.1\out\extension.js:2:579675)
    at async t.resolve (c:\Users\feng\.vscode\extensions\ms-vscode-remote.remote-ssh-0.113.1\out\extension.js:2:583465)
    at async c:\Users\feng\.vscode\extensions\ms-vscode-remote.remote-ssh-0.113.1\out\extension.js:2:851126
[14:59:59.300] ------
AI 代码解读

3、完美解决

从你提供的日志信息来看,出现的问题是私钥文件权限设置得太宽松,这导致SSH连接尝试失败。以下是关键错误信息:

> Bad permissions. Try removing permissions for user: NT AUTHORITY\Authenticated Users (S-1-5-11) on file D:/linux-miyao/16.86/id_1686.
> @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
> @         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
> @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
> Permissions for 'D:\linux-miyao\16.86\id_1686' are too open.
> It is required that your private key files are NOT accessible by others.
> This private key will be ignored.
> Load key "D:\linux-miyao\16.86\id_1686": bad permissions
AI 代码解读

要解决这个问题,你需要修改私钥文件的权限,确保它只能被你自己的用户账户访问。以下是解决步骤:

a、打开命令提示符或PowerShell。

使用icacls命令来修改私钥文件的权限。以下命令将移除Authenticated Users对私钥文件的所有权限,并确保只有当前用户可以访问该文件:

icacls "D:\linux-miyao\16.86\id_1686" /remove "NT AUTHORITY\Authenticated Users"
icacls "D:\linux-miyao\16.86\id_1686" /inheritance:r
icacls "D:\linux-miyao\16.86\id_1686" /grant "你的用户名:(R)"
AI 代码解读

替换你的用户名为你登录Windows的用户名。

b、确认修改后的权限。你可以使用以下命令来检查权限是否正确设置:

icacls "D:\linux-miyao\16.86\id_1686"
AI 代码解读

输出应该只显示你的用户名有权限访问该文件。
在这里插入图片描述

c、尝试重新连接到远程服务器。

如果仍然遇到问题,确保你的私钥文件只有读取权限,并且只有所有者(你的用户账户)可以访问它。在某些情况下,你可能还需要确保父目录的权限设置也是安全的。
在进行权限修改操作时,请谨慎操作,确保不会意外地更改重要文件的权限。如果不确定如何操作,请咨询有经验的系统管理员。
密钥的权限如下
在这里插入图片描述

相关文章
IDE之pycharm:专业版本连接远程服务器代码,并配置远程python环境解释器(亲测OK)。
本文介绍了如何在PyCharm专业版中连接远程服务器并配置远程Python环境解释器,以便在服务器上运行代码。
999 0
IDE之pycharm:专业版本连接远程服务器代码,并配置远程python环境解释器(亲测OK)。
PyCharm连接远程服务器配置的全过程
相信很多人都遇见过这种情况:实验室成员使用同一台服务器,每个人拥有自己的独立账号,我们可以使用服务器更好的配置完成实验,毕竟自己哪有money拥有自己的3090呢。 通常服务器系统采用Linux,而我们平常使用频繁的是Windows系统,二者在操作方面存在很大的区别,比如我们实验室的服务器采用Ubuntu系统,创建远程交互任务时可以使用Terminal终端或者VNC桌面化操作,我觉得VNC很麻烦,所以采用Terminal进行实验,但是Terminal操作给我最不好的体验就是无法可视化中间实验结果,而且实验前后的数据上传和下载工作也让我头疼不已。
阿里云云效产品使用问题之在代码域中,可以通过什么方法将代码合并的内容在IDE中查看
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
GoLand远程开发IDE:使用SSH远程连接服务器进行云端编程
GoLand远程开发IDE:使用SSH远程连接服务器进行云端编程
1139 0
Go开发IDE全览:GoLand vs VSCode全面解析
Go开发IDE全览:GoLand vs VSCode全面解析
617 0
从0到1彻底掌握Trae:手把手带你实战开发AI Chatbot,提升开发效率的必备指南!
Trae是字节跳动推出的一款免费的AI集成的开发环境,集成了Claude3.5与GPT-4o等主流AI模型,提供AI问答、智能代码生成、智能代码补全,多模态输入等功能。支持界面全中文化,为中文开发者提供了高效的开发体验
2479 11
从0到1彻底掌握Trae:手把手带你实战开发AI Chatbot,提升开发效率的必备指南!
【开发IDE升级】如何对IDEA版本进行升级
本文介绍了如何将 IntelliJ IDEA Ultimate 从 2020.2.2 版本升级到 2022.3.2 版本。主要内容包括准备工作、卸载旧版本和安装新版本的步骤。首先,从官网下载所需版本并备份旧版配置;接着,通过 Uninstall.exe 卸载旧版,保留配置和插件;最后,安装新版并完成激活。详细的操作步骤和截图帮助用户顺利完成升级过程。
5124 1
【开发IDE升级】如何对IDEA版本进行升级
AvaloniaUI项目离线开发全攻略:IDE安装、模板应用与NuGet私有化部署一站式解决
本文详细介绍了在离线环境中开发Avalonia UI项目的完整解决方案,包括Visual Studio 2022和JetBrains Rider的离线安装、Avalonia UI模板的配置、私有NuGet服务的部署与使用,以及NuGet包的制作和上传。通过这些步骤,您可以在网络受限或完全离线的环境中顺利进行Avalonia UI项目的开发。
AvaloniaUI项目离线开发全攻略:IDE安装、模板应用与NuGet私有化部署一站式解决
集成开发环境(IDE)的使用:提升Visual Basic开发效率的工具和技巧
【4月更文挑战第27天】本文探讨了如何使用Visual Basic IDE提升开发效率,包括理解IDE组件、利用代码编辑器的智能功能、通过界面设计器设计GUI、使用调试和测试工具、有效管理项目与版本控制、掌握快捷键和宏、定制IDE以及利用学习资源。通过充分利用这些工具和技巧,开发者能更快地编写高质量代码,高效管理项目,从而提升整体开发效率。随着IDE的持续发展,开发者应不断学习新特性以适应进步。
244 1
AllData数据中台核心菜单五:实时开发IDE
杭州奥零数据科技有限公司成立于2023年,专注于数据中台业务,维护开源项目AllData并提供商业版解决方案。AllData提供数据集成、存储、开发、治理及BI展示等一站式服务,支持AI大模型应用,助力企业高效利用数据价值。