VSCode安装和配置

下载并安装VSCode

官网:https://code.visualstudio.com/

在这里插入图片描述

安装Remote SSH 连接Linux服务器

visual studio code remote - ssh 可以通过ssh连接远程主机、虚拟机,打开远程文件夹,并利用vscode 的插件优势进行远程开发、调试等。

在这里插入图片描述

因为remote-ssh 的ssh连接是基于openssh实现的,以及后续我们需要使用生成ssh密钥需要git,所以我们需要准备:

  • OpenSSH
  • Git版本不低于1.9

首先,我们用管理员身份运行PowerShell

#用管理员身份运行PowerShell
Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH*'
# 安装OpenSSH客户端 (这里我们只需要客户端)
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0

当你安装成功后,可以在控制台确认是否安装git 以及 ssh

Microsoft Windows [版本 10.0.22621.2861]
(c) Microsoft Corporation。保留所有权利。

C:\Users\82737>git -v
git version 2.40.0.windows.1

C:\Users\82737>ssh
usage: ssh [-46AaCfGgKkMNnqsTtVvXxYy] [-B bind_interface]
           [-b bind_address] [-c cipher_spec] [-D [bind_address:]port]
           [-E log_file] [-e escape_char] [-F configfile] [-I pkcs11]
           [-i identity_file] [-J [user@]host[:port]] [-L address]
           [-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port]
           [-Q query_option] [-R address] [-S ctl_path] [-W host:port]
           [-w local_tun[:remote_tun]] destination [command]

C:\Users\82737>

打开VSCode程序。查如下两个插件并安装到你的VSCode中。

  • Remote - SSH

  • Terminal SSH

在这里插入图片描述

并进行简单配置,配置你的服务器的主机和域名,这两项都可以写IP地址。登录用户名,笔者这里是root 用户。

# Read more about SSH config files: https://linux.die.net/man/5/ssh_config
Host 192.168.28.132
    HostName 192.168.28.132
    User root

保存,并启用此配置,之后会让你输入该root 账户的密码,输入成功。

在这里插入图片描述
之后可通过查看找到终端,从而出现Shell 窗口,则确定完成了整合工作。
在这里插入图片描述

如果第一次连接服务器时长时间卡在“正在打开远程...”,这是由于服务器因为网络问题无法下载VScode环境相关文件,此时需要离线安装vscode环境.该vscode环境和服务器关联,有这个环境,我们还可使用vscode 对Linux程序进行短点调试。

在这里插入图片描述

# 进入VS环境目录,因为笔者这里已经下载替换好了,可以看到笔者这里有两个版本的vc,不同的vc通过序列号做区分,不同的vc的 vscode-server-linux-x64.tar.gz 内容不一样。
[root@localhost bin]# cd /root/.vscode-server/bin
[root@localhost bin]# ll 
总用量 49248
drwxr-xr-x. 6 root root      233 12月 14 06:56 0ee08df0cf4527e40edc9aa28f4b5bd38bbff2b2
drwxr-xr-x. 6 root root      150 12月 14 06:10 d2e414d9e4239a252d1ab117bd7067f125afd80a
drwxr-xr-x. 6 root root      133 12月 13 01:47 vscode-server-linux-x64
-rw-r--r--. 1 root root 50426703 12月 14 06:50 vscode-server-linux-x64.tar.gz
[root@localhost bin]# 

vscode-server-linux-x64.tar.gz 这一个包的内容就是要替换到你自己vc的文件夹里头。

我们可以在顶部菜单栏帮助–>关于,查看VScode版本,复制“提交”后的序列号,然后在下面这个地址下载所需的安装包.

https://update.code.visualstudio.com/commit:<提交序列号>/server-linux-x64/stable

在这里插入图片描述

将本机下载的安装包上传到服务器/root/.vscode-server/bin/<序列号>目录下并解压。

[root@localhost bin]# tar -zxvf vscode-server-linux-x64.tar.gz
[root@localhost bin]# cp -r vscode-server-linux-x64/* 0ee08df0cf4527e40edc9aa28f4b5bd38bbff2b2

这个时候,登录Linux远程服务器看,就不会出现说,长时间卡在“正在打开远程...

免密登录

每一次都要登录,都要输入密码。很麻烦,我们换一种方式,通过密钥登录,实际开发中,别人都是给你一个私钥的,在服务器中存了连接的公钥,来进行连接。

Microsoft Windows [版本 10.0.22621.2861]
(c) Microsoft Corporation。保留所有权利。

# 基于RSA算法,生成公钥和私钥
C:\Windows\System32>ssh-keygen -t rsa -b 4096
Generating public/private rsa key pair.
Enter file in which to save the key (C:\Users\82737/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in C:\Users\82737/.ssh/id_rsa
Your public key has been saved in C:\Users\82737/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:mLMd1Inc44rqLcVDtrxBNFp2ytYNJ2AiZaePLYtdIRk 82737@wangnaixing
The key's randomart image is:
+---[RSA 4096]----+
|  ..E +.         |
|   o B=.++..     |
|    +*.=+==      |
|    .=B=....     |
|    oBB.S .      |
|   o +B= o       |
|  . o.o+o        |
|    .o.          |
|   .o..          |
+----[SHA256]-----+

# 切换到生成目录
C:\Windows\System32>cd C:\Users\82737\.ssh\

#查一下,是否有id_rsa 私钥文件  id_rsa.pub公钥文件
C:\Users\82737\.ssh>dir
 Volume in drive C has no label.
 Volume Serial Number is 64DB-4E37

 Directory of C:\Users\82737\.ssh

2023/12/14  23:18    <DIR>          .
2023/12/10  20:54    <DIR>          ..
2023/12/14  23:03               136 config
2023/12/14  23:18             3,381 id_rsa
2023/12/14  23:18               744 id_rsa.pub
2023/12/14  22:07             1,511 known_hosts
2023/12/14  22:07               937 known_hosts.old
               5 File(s)          6,709 bytes
               2 Dir(s)  326,339,551,232 bytes free

# 基于服务器指定的全路径,发送公钥文件给服务器
C:\Users\82737\.ssh>scp id_rsa.pub root@192.168.28.132:/root/.ssh/
root@192.168.28.132's password:
id_rsa.pub                                                                            100%  744   354.8KB/s   00:00

C:\Users\82737\.ssh>

# 服务器,切换到家目录,并新建.ssh目录。
[root@localhost bin]# cd ~
#切换到.ssh目录下,并查全路径
[root@localhost ~]# mkdir .ssh
[root@localhost ~]# cd .ssh/
[root@localhost .ssh]# pwd
/root/.ssh
#服务器确认查收到该公钥文件
[root@localhost .ssh]# ls
id_rsa.pub
# 新建authorized_keys文件,并把公钥内容写入
[root@localhost .ssh]# cat id_rsa.pub >> authorized_keys
# 该authorized_keys文件,授予所有者可读
[root@localhost .ssh]# chmod 600 authorized_keys 
#该.ssh目录,授权所有者可读可写可执行
[root@localhost .ssh]# chmod 700 ~/.ssh 
[root@localhost .ssh]# 

编译之前的配置项,加入IdentityFile 属性,指定私钥文件全路径。加入ForwardAgent 属性,ForwardAgent yes 目的是希望使用本地电脑里的密钥登录,且不想把这个密钥发送到服务器)进行配置。

在这里插入图片描述

# Read more about SSH config files: https://linux.die.net/man/5/ssh_config
Host 192.168.28.132
    HostName 192.168.28.132
    User root
    IdentityFile "C:\Users\82737\.ssh\id_rsa"
    ForwardAgent yes

这时候,进行远程连接,就不需要再输入密码了。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐