Visual Studio Code远程linux计算云

2023-12-21 11:39:57

一、前置条件

  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_linux?和?id_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.pubid_rsa_visualCode,前者为生成的公钥,后者为私钥 。

2.?添加公钥到远程服务器

将生成的公钥(?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 客户端将自动选择相应的私钥文件,就可以实现免密登录了。

文章来源:https://blog.csdn.net/yyxhzdm/article/details/135125275
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。