本文基调:开心就好,欢迎讨论,共同学习。
在这里记录一下自己配置vs code用ssh连接远程服务器,实现本地修改服务器程序的操作流程。如果能够帮到大家,那就更好了。
1、准备条件
1、本地安装vs code, 一台服务器(我这里是ubuntu的服务器)(由于这台服务器是我们实验室共用的,我所使用的只是这台服务器的部分资源(分配的相应容器),我通过访问相应的端口号,这里有一个端口映射,使我能够访问到对应我的容器。大家可以忽略此处括号)。 2、安装Remote-SSH 点击扩展一栏(红圈标注的地方),在搜中输入Remote-SSH,点击安装。
2、配置
这时候你会发现,在左下方出现一个绿色的大于号和小于号的标志。 第一次连接的话点击open SSH configuration files 然后点击setting,配置你的configuration文件,这个文件相当于你提交给远程服务器你的身份信息。相当于是你直接用SSH命令输入的参数,主要包括User名字(我这里是ubuntu,HostName 远程服务器的IP,端口号(因为我这里是经过端口映射需要输入端口号,有的不需要),只不过现在是用文件形式呈现。
我这里把configuration的路径设置在c盘当前user的文件夹,手动创建一个文件(不需要任何后缀),命你喜欢的名字whatever。我这里墨守成规命名为config。 然后点击connect to host,会出现你config文件中第一行的连接名,我这里是server。 点击一下就OK了,然后这个时候vs code远程服务器中下载一个vs code sever,这个位置是服务器.vscode-sever文件下。 很不幸的是,他需要外网才能下载,所以如果你本地主机没有外网的话,你需要在有外网的地方手动下载vs code的压缩包。每次下载的commit_id都不一样,你可以从终端报错的信息看到commit_id后面一串数字就是了。我这里假设一个123456(真的就不告诉你们了)。 https://update.code.visualstudio.com/commit:123456/server-linux-x64/stable 这个commit:后面是commit_id换上你们自己的就好了。下载下来之后,你把这个包上传到远程服务器的**~/.vscode-server/bin/commit_id ** 这个文件夹下,然后解压这个压缩包,ubuntu下使用命令
tar zxvf vscode-server-linux-x64.tar.gz -C ./--strip 1
(这里网上好像也有其他办法不用外网下载,但是下载之后的操作流程是一样的,大家可以搜索 vscode server 下载失败,这里我就不详细说明了。) 重新点击connect to host, 点server应该就能连上,每次进入远程服务器文件需要输入连接密码。 你会发现右下角变成SSH server 接下来,你的项目可能在你远程服务器的子文件的里面,每次点击找就很麻烦。所以你可以点击文件,然后选择打开文件夹(如上图)。选择你的项目的文件夹点击确定就ok。每次启动vs code,点击那个电脑形状图标,就能找到远程的文件夹。 这里就是每次都需要输入密码很麻烦。所以就有一个免密配置的方法,需要的同学们可以继续往下看。
3、免密配置
假设本地主机和你的远程服务器已经能够运行SSH命令,也就是装了那个open-ssh哈。在本地自己喜欢的位置运行代码
ssh-keygen
你就在相应的位置生成一个.ssh文件。这个命令,大概的意思是生成公钥和私钥,有.pub后缀的就是公钥,这里我的之前的config文件也是建在这里的,所以多了一个config文件。 我们需要将本地的公钥文件放在远程服务器上,这样我们连接之后只需要属于一次密码,之后就再也不需要输入了。那么具体怎么做呢?
把本地的id_rsa.pub放在运程服务器~/.ssh里面,然后运行命名生成cat id_dsa.pub >> authorized_keys 这里我遇到了一个情况,就是~/文件下面没有.ssh文件夹。 如果大家和我一样,就在~/ 运行(上面运行过的)
ssh-keygen
这时里面同样有3个文件,把那个.pub删掉,把本地.pub放进来,运行cat id_dsa.pub >> authorized_keys
本地在连接一次,珍惜这最后一次输入密码的机会。 这样就大功告成。
参考 https://stackoverflow.com/questions/56671520/how-can-i-install-vscode-server-in-linux-offline
|