VS Code Remote-SSH远程连接linux服务器开发

准备条件

1、本机安装ssh client:

有多种方式安装ssh client,若在Windows环境,可安装PuTTY,PuTTY附带ssh client,安装PuTTY之后,自然也就安装了ssh client

2、在linux服务器上生成ssh密钥文件(注:此步可跳过,可以不生成密钥文件,使用ssh密码登录

使用ssh连接你的linux服务器,执行下面的命令生成密钥对

ssh-keygen

执行后结果类似下面:

Generating public/private rsa key pair.
Enter file in which to save the key (/your_home/.ssh/id_rsa):

意思是设置密钥文件保存路径。直接回车,将会在你的根目录下的.ssh文件夹生成id_rsa文件

接着,会提示你是否设置私钥的密码:

Enter passphrase (empty for no passphrase):

最好设置一个密码。输入密码之后,开始生成密钥对,生成结果如下:

Your identification has been saved in /your_home/.ssh/id_rsa.
Your public key has been saved in /your_home/.ssh/id_rsa.pub.
The key fingerprint is:
a9:49:2e:2a:5e:33:3e:a9:de:4e:77:11:58:b6:90:26 username@remote_host
The key's randomart image is:
+--[ RSA 2048]----+
|     ..o         |
|   E o= .        |
|    o. o         |
|        ..       |
|      ..S        |
|     o o.        |
|   =o.+.         |
|. =++..          |
|o=++.            |
+-----------------+

然后,复制公钥到你要远程连接的用户名上:

ssh-copy-id username@remote_host

执行结果如下:

The authenticity of host '203.0.113.1 (203.0.113.1)' can't be established.
ECDSA key fingerprint is fd:fd:d4:f9:77:fe:73:84:e1:55:00:ad:d6:6d:22:fe.
Are you sure you want to continue connecting (yes/no)? 

输入yes回车,执行结果如下:

/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
username@203.0.113.1's password:

此时会提示你输入该账户的密码,输入即可

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh 'username@203.0.113.1'"
and check to make sure that only the key(s) you wanted were added.

此时,如果你查看.ssh文件夹,会发现如下文件:

authorized_keys  id_rsa  id_rsa.pub  known_hosts

其中id_rsa表示私钥,id_rsa.pub表示公钥

使用scp命令拷贝id_rsa文件到你的客户端机器上

scp urer@host:/your_home/.ssh/id_rsa D:\.ssh

开始使用VS Code远程连接

1、截至目前,VS Code 1.33.1暂不支持此功能,需要下载内部版本VS Code Insides,下载地址:https://code.visualstudio.com/insiders/

2、安装完Insides版本之后,需要下载Remote Development插件

从View-Extensions菜单进入,输入Remote Development搜索插件下载

Remote Development插件其实是包含3个插件的:

我们主要是用到Remote-SSH插件,另外两个以后可能会用到,装了也无妨

3、插件装完之后,会发现你的VS Code的侧边栏多了一个图标:


正是我们接下来要用到的

点击该图标,在展开的右侧,点击Connections栏的设置图标按钮:


在屏幕顶部会弹出一下选项:

选择第一个将打开ssh配置文件:

Host 你的主机名称,自己定义
    HostName 主机ip地址
    User 远程连接的用户名
    IdentityFile 之前下载到本地的私钥文件路径(注:未生成密钥文件时移除此字段,可用ssh密码登录)

根据自己的实际情况填写配置后保存

4、开启VS Code允许弹出终端窗口登录功能

选择File-Preferences-Settings菜单,在User>Extensions>Remote-SSH>Show Login Terminal勾选Always reveal the SSH login terminal:

勾选之后,VS Code会自动保存设置

5、此时,可以在VS Code中远程连接linux服务器了,在步骤3配置的主机名右键选择“Connect to Host in Current Window”,将在当前窗口连接

连接过程中,底部的终端窗口会提示输入私钥密码,输入即可

(注:连接过程中可能会提示多次输入密码,请留意底部终端窗口提示)

出现如下语句,表示连接成功

Connected to SSH Host - Please do not close this terminal

连接成功之后,就可以去打开远程服务器上的文件了

选择File-OpenFolder…或Open File…菜单,在顶部的弹窗中输入服务器目录/文件路径回车即可:

切换到Explorer图标,会发现刚添加的远程目录

展开目录,点击目录下的文件,即可像编辑本地文件一样编辑该远程目录下的文件。

发表评论

邮箱地址不会被公开。