前言
大模型开发肯定要在服务器了,工欲善其事必先利其器,于是使用远程开发工具就成为了问题,pycharm和vscode都使用过了,发现vscode更胜一筹,具体优缺点,请往下看。当然,每个人习惯不一样,这里我只说了下自己的想法。
pycharm 链接服务器博文传送门:IDE之pycharm:专业版本连接远程服务器代码,并配置远程python环境解释器(亲测OK)。
一、链接服务器vscode和pycharm的对比
1、pycharm
- pycharm链接服务器需要专业版本,社区版本不行
- pycharm配置麻烦,不如vscode简单。
- 如果要链接多个服务器,不如vscode配置简单,pycharm每个都要重新配置,而vscode只需要配置
C:\Users\feng\.ssh\config
文件即可(本博文有说明) - 但是开发习惯好用。debug方便。目前我也就发现这么一个优点了
2、vscode
- vscode 安装简单,使用插件即可链接服务器。
- 链接多个服务器,配置简单。
- 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、 通过命令面板重新选择文件夹
使用快捷键
Ctrl+Shift+P
(Windows) 或Cmd+Shift+P
(Mac)打开命令面板
。在命令面板中输入:
File: Open Folder
并选择该命令,这将打开一个文件浏览器窗口,让你选择新的文件夹。选择你想要打开的新文件夹,并点击“打开”按钮。
可能会输入密码。输入即可
3、通过菜单选项重新选择文件夹:
- 在VS Code的菜单栏中选择
文件
。 - 在下拉菜单中选择
打开文件夹
。也可以使用快捷键Ctrl+K
然后按Ctrl+O
(这两个快捷键需要连按,Ctrl不松手)。 - 在弹出的对话框中浏览并选择你想要打开的文件夹。
- 点击“选择文件夹”按钮确认你的选择。
五、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、尝试重新连接到远程服务器。
如果仍然遇到问题,确保你的私钥文件只有读取权限,并且只有所有者(你的用户账户)可以访问它。在某些情况下,你可能还需要确保父目录的权限设置也是安全的。
在进行权限修改操作时,请谨慎操作,确保不会意外地更改重要文件的权限。如果不确定如何操作,请咨询有经验的系统管理员。
密钥的权限如下