vscode版本:1.77.1
前言
vscode作为一款开源优秀的编辑器是很多开发者的首选,拥有丰富的插件,无论在编写代码,还是阅读代码方面都非常方便。因此,本文主要详细介绍使用vscode远程连接ubuntu,并像操控本地文件一样直接操控ubuntu中的文件。
安装插件
vscode远程连接到ubuntu服务端是通过ssh协议,因此要求vscode所在的机器必须要安装ssh client。默认情况下,windows10/11已经安装了ssh client,此处不再介绍安装过程。vscode如果只是通过ssh命令从终端连接ubuntu服务端,它无法像在windows上打开或者编辑文件,只能通过命令编辑文件,这不是我们想要的。如果想要达到以上效果,需要vscode安装Remote-SSH
插件。
点击插件 -> 输入remote ssh -> 选择Remote-SSH插件 -> 点击install
配置插件
成功安装之后,理论上是可以直接使用,但是这里建议先配置一下,尤其是remote.SSH.localServerDownload
选项。当vscode通过Remote-SSH 插件连接ubuntu服务端时,vscode会在ubuntu服务端下载vscode server,然后在服务端启动vscode server。这就要求ubuntu 服务端可以连接互联网。然而,大多数情况下,服务端是无法连接互联网。如果客户端是可以连接互联网,可以通过设置remote.SSH.localServerDownload
,让vscode先将vscode server 的安装包下载到客户端本地,然后在上传到服务端。
右键Remote-SSH 插件 -> Extention Settings -> remote.SSH.localServerDownload -> 选择always
连接ubuntu服务端
使用Ctrl+Shift+P打开vscode命令面板,并输入remote ssh,并选择Remote-SSH: Connect to Host…
按照ssh 用户名@ip地址
的格式输入,比如ssh root@192.168.7.80
后面输入密码后,vscode会下载vscode server安装包,并将安装包拷贝到服务端,然后启动vscode sever 服务。如果中间没有出现任何问题,基本上就可以连接上。
成功连接之后,就可以像打开本地文件一样,直接打开远程服务器上的文件,并对文件进行任何操作。
设置免密登录
在使用的过程中会发现,重新用vscode连接ubuntu时,会要求再次输入密码。实际上,这对于开发影响很小。真正让人恼火的是,在打开每一个文件或者目录时,都要求输入密码,这是让人无法接受的。因此有必要设置免密登录。
创建本地ssh public key
ssh-keygen -t rsa -b 4096
执行以上命令后,会在C:\Users\your-user\\.ssh*
下面创建id_rsa.pub的文件,该文件中保存了ssh public key。
添加key到ubuntu服务端
$USER_AT_HOST="your-user-name-on-host@hostname"
$PUBKEYPATH="$HOME\.ssh\id_rsa.pub"
$pubKey=(Get-Content "$PUBKEYPATH" | Out-String)
ssh "echo '${pubKey}' >> ~/.ssh/authorized_keys"
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
eg:
$USER_AT_HOST="root@192.168.3.14"
$PUBKEYPATH="$HOME\.ssh\id_rsa.pub"
$pubKey=(Get-Content "$PUBKEYPATH" | Out-String)
ssh "$USER_AT_HOST" "echo '${pubKey}' >> ~/.ssh/authorized_keys"