吐槽
vscode连远程真的很简单,只需一个ssh-remote插件,设置简单(相比pycharm)。但是总有一些小问题,比如连接不稳定,无需本地建立对应的文件(需要定期进行备份,防止服务器崩溃造成丢失文件等。 配合terminus的sftp功能,使得mac远程开发环境非常友好,所以博主不惜一切也要坚持使用vscode(其实是pycharm这个软件过大过于复杂了) 友情提示,vscode远程步骤虽然简单,但是可能出现的问题较多,需要具有巨大的耐心一个个解决,汇总问题如下:
问题1 服务器用户名和key改变后,无法port forwarding
报错:port forwarding is disabled
解决方案:
vim ~/.ssh/known_hosts
删除相关的host信息 而后使用ssh-remote重新添加host即可
参考: https://blog.csdn.net/u013243347/article/details/113179855.
问题二 建立连接过程中卡住或者报XHRfailed
报错1:Could not establish connection to : XHR failed. 报错2:卡在Setting up SSH Host XXX:Copying VS Code Server to host with scp 个人认为这两种报错其实是一种问题,都是服务器端的vscode-server下载受到限制(例如服务器网络不能fq,非常常见),可以采取离线下载server而后上传到服务器指定位置的方法
解决方案:
步骤一:查看commit id,在本地的vscode的关于中查找 其中提交项目即为commit id,或者登陆到服务器$HOME文件夹中,ls -a 查看隐藏目录$HOME/.vscode-server/bin 下的文件夹名称
步骤二:在该链接下手动下载server的压缩包vscode-server-linux-x64.tar.gz
https://update.code.visualstudio.com/commit:${COMMIT_ID}/server-linux-x64/stable
注意将${COMMIT_ID}替换为具体的提交序列号
步骤三:上传该压缩包到服务器$HOME/.vscode-server/bin
步骤四:解压,并更改解压文件夹名字
cd ~/.vscode-server/bin
tar -zxf vscode-server-linux-x64.tar.gz
mv vscode-server-linux-x64 ${COMMIT_ID}
注意将${COMMIT_ID}替换为具体的提交序列号
而后尝试重新连接,即可解决问题
参考: https://blog.csdn.net/weixin_43843402/article/details/123190417.
https://zhuanlan.zhihu.com/p/294933020.
https://github.com/microsoft/vscode-remote-release/issues/3349.
问题3: 未知原因的could not establish connection
如果该问题无法使用任何方式都建立vscode的ssh远程连接(比如重新配置config文件,删除本地known hosts等),但是使用终端(本地终端、xshell、terminus等)可以ssh连接到该host中 有一种仅供参考的可能性是服务器储存满了,推测是因为建立vscode远程连接需要额外的空间放置缓存等。 这种情况在我身上发生过,仅供大家参考。
|