Visual Studio Code远程linux计算云

一、前置条件

  1. 本机安装Visual Studio Code
  2. 打开Vscode时建议使用管理员权限打开,在这之前遇到了一些报错。

二、开始远程连接计算云

  1. 安装插件remote-ssh

2.点击远程资源管理器,之后在SSH这行的右侧,点击"+"号,去新建远程

3.在窗口上方弹出的命令框中输入:ssh -p name@ip

其中"-p 2222"表示指定端口号2222(填写你实际的端口号)

name:你服务器的用户名

ip:你服务器的ip地址

填写之后,回车

4.回车后会在代码编辑区上端弹出选择更新配置文件,点击第一个路径就可以,会自动生成一个config文件,如下图示是config文件内容:


其中:
Host: 这是一个用户定义的别名,用于指代远程主机。可以在在终端中执行 ssh 别名**替代 ssh name@ip*。*
HostName: 指定远程主机的实际地址或主机名。
Port: 指定 SSH 连接使用的端口号。
User: 指定连接到远程主机时使用的用户名。在这里,用户名是zwx11.....

5.在 config 文件配置完成并保存后,在VSCode的远程资源管理器中已经出现刚配置的远程服务器,此时点击红框按钮连接即可

  • 点击vsCode左侧的远程图标,如上图第1步操作
  • 之后选中SSH下你要打开的服务地址(2步)(这个是上面自己设置的HostName)
  • 再点击右侧类似文件夹的图标,如上图第3步操作
  • 3步操作后,Visual Studio Code 会自动弹出提示框,你根据你服务的环境,选择相应项
    实例(我选择的是linux):
    之后进入下图,选中"Continue"

    之后根据提示语,输入密码
    此时没有意外的话就可以连接上了远程服务器了

你可以按一下操作,打开服务端文件:

选择打开文件路径后,点击"OK",此时开始链接服务器,并提示再次输入密码,之后等待....

此时,已经链接并打开某目录成功。

二、如何实现免密链接,不用每次都输入密码

每次连接都需要输入密码未免有些麻烦,一台机器想要免密访问其他机器,需要把自己的公钥内容发送到别的机器的authorized_keys中去,并在本机config文件中配置私钥文件位置。如下为流程。

  1. 生成新的密钥对

使用命令ssh-keygen生成新的密钥对。你可以选择在生成密钥对时为其指定不同的文件名。请注意,-f 后的id_rsa_linuxid_rsa_windows 只是示例文件名,你可以根据需要选择其他文件名。中间"C:\Users\YourUsername\.ssh\"是你本地.ssh所在文件夹。

 # 在 Linux 和 Mac 上
 ssh-keygen -t rsa -b 2048 -f ~/.ssh/id_rsa_linux
 
 # 在 Windows 上
 ssh-keygen -t rsa -b 2048 -f C:\Users\YourUsername\.ssh\id_rsa_windows
 
 # 如果你只有单平台使用 ssh
 ssh-keygen

例如我的.ssh路径:"C:\Users\zhangdm\.ssh"

**注意:**当你在多个平台上使用 SSH 连接到不同的远程服务器时,可能需要为每个平台生成和使用不同的密钥对。这是因为每个平台(例如,Windows、Linux、Mac)可能有不同的文件系统和密钥文件位置,同时在安全性的考虑下,不同平台上的密钥对最好是独立的。

在Visual Studio Code工具打开终端,输入"ssh-keygen -t rsa -b 2048 -f C:\Users\YourUsername\.ssh\id_rsa_windows"命令,执行后一直回车,最终出现方框时表示成功。

系统会在你指定的路径(本例子为 C:\Users\YourUsername\.ssh)下生成两个文件,分别是id_rsa_visualCode.pub和id_rsa_visualCode,前者为生成的公钥,后者为私钥 。

  1. 添加公钥到远程服务器

将生成的公钥( id_rsa_visualCode.pub的内容)添加到你远程服务器的 authorized_keys 文件中,以允许连接。

  • 首先打开id_rsa_visualCode.pub文件
  • 复制文件中公钥内容
  • 然后登录到远程服务器,并将内容粘贴到 authorized_keys 文件。

如下是我生成的id_rsa_visualCode.pub文件内容:


在远程服务器上,authorized_keys 文件通常存储在用户的 .ssh 目录中。具体路径可能为 ~/.ssh/authorized_keys。例如我的用户名是zdm,那么 authorized_keys 文件的路径可能是 /home/zdm/.ssh/authorized_keys
第一次配置,你服务端是没有"authorized_keys "文件的,需要我们自己去创建

# 创建目录
 mkdir ~/.ssh
 # 进入目录
 cd ~/.ssh
 # 创建 authorized_keys 文件
 touch authorized_keys
 # 使用文本编辑器打开 authorized_keys 文件,并将你的公钥内容粘贴到其中
 nano authorized_keys
 # 保存并关闭文本编辑器。

在"MobaXterm_Personal_23.0.exe"服务端管理器中执行"touch authorized_keys"命令(执行命令之前要进入到.ssh目录下)

用编译器麻烦,我们可以直接在上述工具中直接打开"authorized_keys"文件,将公钥粘贴后保存。

3. 配置 SSH 客户端:

将添加公钥到远程服务器后,最后一步便是配置你的主机。

打开你的 SSH 客户端(本机)配置文件(也就是前面生成的config文件,一般在C:\Users\YourUsername\.ssh\config),添加配置(IdentityFile 私钥文件路径),以指定使用哪个私钥文件。

下图红框是我添加的内容:

这样,当你使用 ssh 连接服务器时,SSH 客户端将自动选择相应的私钥文件,就可以实现免密登录了。

相关推荐
热爱生活的五柒2 小时前
vscode利用ofExtensions插件可以调试单进程Openfoam,但是不能调试mpi多进程案例
ide·vscode·编辑器
小陈phd2 小时前
Vscode LinuxC++环境配置
linux·c++·vscode
为什么每天的风都这么大12 小时前
Vscode/Code-server无网环境安装通义灵码
ide·vscode·阿里云·编辑器·ai编程·code-server
ahadee15 小时前
蓝桥杯每日真题 - 第19天
c语言·vscode·算法·蓝桥杯
写点什么啦18 小时前
[debug]不同的window连接ubuntu的vscode后无法正常加载kernel
linux·vscode·ubuntu·debug
hence..18 小时前
Vscode写markdown快速插入python代码
ide·vscode·python
ahadee19 小时前
蓝桥杯每日真题 - 第18天
c语言·vscode·算法·蓝桥杯
陌上阳光20 小时前
vscode连接远程开发机报错
ide·vscode·编辑器
码码哈哈0.021 小时前
VSCode 2022 离线安装插件QT VSTOOl报错此扩展不能安装在任何当前安装的产品上。
ide·vscode·qt
yyywxk21 小时前
VSCode 新建 Python 包/模块 Pylance 无法解析
ide·vscode·python