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,我这里不是,按需填写

我一般会修改一下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 密钥路径

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] ------

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

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

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)"

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

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

icacls "D:\linux-miyao\16.86\id_1686"

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

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

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

相关文章
|
6月前
|
Shell 网络安全 开发工具
服务器已经搭建好的项目如何关联至gitee对应仓库并且将服务器的项目代码推送至gitee-优雅草卓伊凡
服务器已经搭建好的项目如何关联至gitee对应仓库并且将服务器的项目代码推送至gitee-优雅草卓伊凡
390 5
|
机器学习/深度学习 人工智能 开发者
DeepSeek服务器繁忙?拒绝稍后再试!基于阿里云PAI实现0代码一键部署DeepSeek-V3和DeepSeek-R1大模型
阿里云PAI平台支持零代码一键部署DeepSeek-V3和DeepSeek-R1大模型,用户可轻松实现从训练到部署再到推理的全流程。通过PAI Model Gallery,开发者只需简单几步即可完成模型部署,享受高效便捷的AI开发体验。具体步骤包括开通PAI服务、进入控制台选择模型、一键部署并获取调用信息。整个过程无需编写代码,极大简化了模型应用的门槛。
612 7
|
IDE 网络安全 开发工具
IDE之pycharm:专业版本连接远程服务器代码,并配置远程python环境解释器(亲测OK)。
本文介绍了如何在PyCharm专业版中连接远程服务器并配置远程Python环境解释器,以便在服务器上运行代码。
5919 0
IDE之pycharm:专业版本连接远程服务器代码,并配置远程python环境解释器(亲测OK)。
|
Linux C语言 C++
vsCode远程执行c和c++代码并操控linux服务器完整教程
这篇文章提供了一个完整的教程,介绍如何在Visual Studio Code中配置和使用插件来远程执行C和C++代码,并操控Linux服务器,包括安装VSCode、安装插件、配置插件、配置编译工具、升级glibc和编写代码进行调试的步骤。
3741 0
vsCode远程执行c和c++代码并操控linux服务器完整教程
|
前端开发 Java
学习SpringMVC,建立连接,请求,响应 SpringBoot初学,如何前后端交互(后端版)?最简单的能通过网址访问的后端服务器代码举例
文章介绍了如何使用SpringBoot创建简单的后端服务器来处理HTTP请求,包括建立连接、编写Controller处理请求,并返回响应给前端或网址。
497 0
学习SpringMVC,建立连接,请求,响应 SpringBoot初学,如何前后端交互(后端版)?最简单的能通过网址访问的后端服务器代码举例
|
设计模式 数据库连接 PHP
PHP中的设计模式:如何提高代码的可维护性与扩展性在软件开发领域,PHP 是一种广泛使用的服务器端脚本语言。随着项目规模的扩大和复杂性的增加,保持代码的可维护性和可扩展性变得越来越重要。本文将探讨 PHP 中的设计模式,并通过实例展示如何应用这些模式来提高代码质量。
设计模式是经过验证的解决软件设计问题的方法。它们不是具体的代码,而是一种编码和设计经验的总结。在PHP开发中,合理地使用设计模式可以显著提高代码的可维护性、复用性和扩展性。本文将介绍几种常见的设计模式,包括单例模式、工厂模式和观察者模式,并通过具体的例子展示如何在PHP项目中应用这些模式。
|
11月前
|
SQL 监控 IDE
实时开发IDE!数据开发效率开挂
杭州奥零数据科技有限公司成立于2023年,专注于数据中台业务,维护开源项目AllData并提供商业版解决方案。AllData提供数据集成、存储、开发、治理及BI展示等一站式服务,支持AI大模型应用,助力企业高效利用数据价值。
实时开发IDE!数据开发效率开挂
|
人工智能 IDE 开发工具
从0到1彻底掌握Trae:手把手带你实战开发AI Chatbot,提升开发效率的必备指南!
Trae是字节跳动推出的一款免费的AI集成的开发环境,集成了Claude3.5与GPT-4o等主流AI模型,提供AI问答、智能代码生成、智能代码补全,多模态输入等功能。支持界面全中文化,为中文开发者提供了高效的开发体验
9193 11
从0到1彻底掌握Trae:手把手带你实战开发AI Chatbot,提升开发效率的必备指南!
|
IDE 开发工具
【开发IDE升级】如何对IDEA版本进行升级
本文介绍了如何将 IntelliJ IDEA Ultimate 从 2020.2.2 版本升级到 2022.3.2 版本。主要内容包括准备工作、卸载旧版本和安装新版本的步骤。首先,从官网下载所需版本并备份旧版配置;接着,通过 Uninstall.exe 卸载旧版,保留配置和插件;最后,安装新版并完成激活。详细的操作步骤和截图帮助用户顺利完成升级过程。
16062 1
【开发IDE升级】如何对IDEA版本进行升级
|
IDE 开发工具 C++
AvaloniaUI项目离线开发全攻略:IDE安装、模板应用与NuGet私有化部署一站式解决
本文详细介绍了在离线环境中开发Avalonia UI项目的完整解决方案,包括Visual Studio 2022和JetBrains Rider的离线安装、Avalonia UI模板的配置、私有NuGet服务的部署与使用,以及NuGet包的制作和上传。通过这些步骤,您可以在网络受限或完全离线的环境中顺利进行Avalonia UI项目的开发。
AvaloniaUI项目离线开发全攻略:IDE安装、模板应用与NuGet私有化部署一站式解决