vscode通过ssh远程连接服务器
安装remote-ssh
插件
打开vscode扩展商店,搜索Remote-SSH
直接下载安装即可。
生成ed25519密钥,如果已经有的可以忽略
ssh-keygen -t ed25519 -C "your_email@example.com"
将ed25519公钥添加到远程主机
- 如果远程主机没有
~/.ssh/authorized_keys
则先创建:
touch ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys
- 然后将公钥
.ssh/id_ed25519.pub
的内容追加到远程主机的~/.ssh/authorized_keys
.ssh/id_ed25519
为私钥,不能对外公开,注意保密。
.ssh/id_ed25519.pub
为公钥,可以对外公开。
- 将远程主机的公钥认证开启;
添加该行到~/.ssh/config
文件:PubkeyAuthentication yes
配置ssh-config
在vscode打开控制面板(Windows按F1
,linux按C-S-p
)输入Open SSH Configuration File
,
选择ssh配置文件,如C:\Users\yourname\.ssh\config
;
Host ubuntu-2204
HostName 192.168.56.101
User jack
IdentityFile C:\Users\yourname\.ssh\id_ed25519
Host
后写上远程主机的标签,便于自己识别,如ubuntu-2204
;HostName
后写上远程主机的实际ip地址,如192.168.56.101
;User
后写上远程主机上的实际用户名,如jack
;IdentityFile
后面写上本地ssh目录下的ssh key文件,如C:\Users\yourname\.ssh\id_ed25519
然后打开控制面板,输入Remote-SSH:Settings
,设置Remote.SSH:Config File
为刚刚设置的ssh配置文件,如C:\Users\yourname\.ssh\config
;
连接远程ssh
打开控制面板,输入Remote-SSH:Connect To Host...
,然后选择远程主机的标签如ubuntu-2204
即可连接。
访问远程文件夹
File
,Open Folder...
,输入路径即可访问。
在远程主机上离线安装vscode server
在连接远程主机时,vscode的remote ssh插件会自动在远程主机下载并安装对应版本的vscode server;
如果远程主机网络不畅可能导致下载和连接失败,可以使用本方法离线安装vscode server,以linux系统为例。
- 获取本地vscode的commit id值:
- “Help”,
- “About”,
- “Copy”,
得到Commit的值,如
97dec172d3256f8ca4bfb2143f3f76b503ca0534
。
- 填入对应的commit值,下载对应的vscode server版本;
- 下载URL:
https://update.code.visualstudio.com/commit:${commit_id}/server-linux-x64/stable
将
${commit_id}
替换为获取到的commit值。
如:https://update.code.visualstudio.com/commit:97dec172d3256f8ca4bfb2143f3f76b503ca0534/server-linux-x64/stable
- 将下载的
vscode-server-linux-x64.tar.gz
上传在远程主机的$HOME/.vscode-server/bin
文件夹中,并解压
mkdir -p ~/.vscode-server/bin
cd ~/.vscode-server/bin
tar -zxf vscode-server-linux-x64.tar.gz
结果为
~/.vscode-server/bin$ ls
vscode-server-linux-x64
- 在远程主机将解压之后的目录名更名为commit值。
mv vscode-server-linux-x64 ${commit_id}
注意${commit_id}替换为对应的Commit值。
结果显示为
~/.vscode-server/bin$ ls
97dec172d3256f8ca4bfb2143f3f76b503ca0534
~/.vscode-server/bin$
~/.vscode-server/bin$ ls 97dec172d3256f8ca4bfb2143f3f76b503ca0534/
bin LICENSE node_modules package.json server.sh
extensions node out product.json
~/.vscode-server/bin$
vscode便可成功连接到远程主机并访问其文件。