准备条件
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图标,会发现刚添加的远程目录
展开目录,点击目录下的文件,即可像编辑本地文件一样编辑该远程目录下的文件。