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、尝试重新连接到远程服务器。

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

相关文章
|
23天前
|
监控 Ubuntu Linux
使用VSCode通过SSH远程登录阿里云Linux服务器异常崩溃
通过 VSCode 的 Remote - SSH 插件远程连接阿里云 Ubuntu 22 服务器时,会因高 CPU 使用率导致连接断开。经排查发现,VSCode 连接根目录 ".." 时会频繁调用"rg"(ripgrep)进行文件搜索,导致 CPU 负载过高。解决方法是将连接目录改为"root"(或其他具体的路径),避免不必要的文件检索,从而恢复正常连接。
|
1月前
|
JavaScript 前端开发 开发者
如何在 Visual Studio Code (VSCode) 中使用 ESLint 和 Prettier 检查代码规范并自动格式化 Vue.js 代码,包括安装插件、配置 ESLint 和 Prettier 以及 VSCode 设置的具体步骤
随着前端开发技术的快速发展,代码规范和格式化工具变得尤为重要。本文介绍了如何在 Visual Studio Code (VSCode) 中使用 ESLint 和 Prettier 检查代码规范并自动格式化 Vue.js 代码,包括安装插件、配置 ESLint 和 Prettier 以及 VSCode 设置的具体步骤。通过这些工具,可以显著提升编码效率和代码质量。
300 4
|
28天前
|
JavaScript 前端开发 开发者
如何在 Visual Studio Code (VSCode) 中使用 ESLint 和 Prettier 检查代码规范并自动格式化 Vue.js 代码
随着前端开发技术的快速发展,代码规范和格式化工具变得尤为重要。本文介绍如何在 Visual Studio Code (VSCode) 中使用 ESLint 和 Prettier 检查代码规范并自动格式化 Vue.js 代码。通过安装和配置这些工具,可以确保代码风格一致,提高代码质量和可读性。
61 1
|
2月前
|
网络安全 Docker 容器
VScode远程服务器之远程 远程容器 进行开发(五)
VScode远程服务器之远程 远程容器 进行开发(五)
37 1
|
2月前
|
IDE 网络安全 开发工具
IDE之pycharm:专业版本连接远程服务器代码,并配置远程python环境解释器(亲测OK)。
本文介绍了如何在PyCharm专业版中连接远程服务器并配置远程Python环境解释器,以便在服务器上运行代码。
348 0
IDE之pycharm:专业版本连接远程服务器代码,并配置远程python环境解释器(亲测OK)。
|
2月前
|
Kubernetes 网络安全 容器
VScode远程服务器进行开发(三)
VScode远程服务器进行开发(三)
42 0
|
弹性计算 IDE 安全
评审恩仇录——IDE也能做代码评审?
云效Codeup推出了本地IDE插件端的评审,免除了黄药师来回华山的奔波之苦
1000 0
评审恩仇录——IDE也能做代码评审?
|
7月前
|
网络协议 IDE 网络安全
GoLand远程开发IDE:使用SSH远程连接服务器进行云端编程
GoLand远程开发IDE:使用SSH远程连接服务器进行云端编程
754 0
|
IDE Go 开发工具
Go开发IDE全览:GoLand vs VSCode全面解析
Go开发IDE全览:GoLand vs VSCode全面解析
521 0
|
2月前
|
IDE 开发工具 C++
AvaloniaUI项目离线开发全攻略:IDE安装、模板应用与NuGet私有化部署一站式解决
本文详细介绍了在离线环境中开发Avalonia UI项目的完整解决方案,包括Visual Studio 2022和JetBrains Rider的离线安装、Avalonia UI模板的配置、私有NuGet服务的部署与使用,以及NuGet包的制作和上传。通过这些步骤,您可以在网络受限或完全离线的环境中顺利进行Avalonia UI项目的开发。
AvaloniaUI项目离线开发全攻略:IDE安装、模板应用与NuGet私有化部署一站式解决