赞
踩
我是用Windows 10系统连接Linux云服务器。是我们实验室的内网服务器,所以服务器不能连外网,在公网上信号也不好。
其实一开始的问题是用VSCode连接远程服务器时可以弹出输入密码界面,输入密码后又会显示要输入密码,如此重复多次,报错信息是:
[14:23:40.140] Got password response [14:23:40.140] "install" wrote data to terminal: "***********" [14:23:40.167] > [14:23:40.379] > omit: running [14:23:40.419] > Acquiring lock on /home/user_name/.vscode-server/bin/omit > omitvscode-remote-lock.user_name.omit [14:23:40.442] > Installation already in progress... > If you continue to see this message, you can try toggling the remote.SSH.useFloc > k setting > omit: start > exitCode==24== > listeningOn==== > osReleaseId==ubuntu== > arch==x86_64== > vscodeArch==x64== > bitness==64== > tmpDir==/run/user/omit== > platform==linux== > unpackResult==== > didLocalDownload==0== > downloadTime==== > installTime==== > extInstallTime==== > serverStartTime==== > omit: end [14:23:40.443] Received install output: exitCode==24== listeningOn==== osReleaseId==ubuntu== arch==x86_64== vscodeArch==x64== bitness==64== tmpDir==/run/user/omit== platform==linux== unpackResult==== didLocalDownload==0== downloadTime==== installTime==== extInstallTime==== serverStartTime==== [14:23:40.443] Server installation process already in progress - waiting and retrying [14:23:41.462] Running script with connection command: "C:\Windows\System32\OpenSSH\ssh.exe" -T -D my_port -p remote_port "user_name@IP地址" bash [14:23:41.464] Terminal shell path: C:\WINDOWS\System32\cmd.exe [14:23:41.760] > ]0;C:\WINDOWS\System32\cmd.exe [14:23:41.761] Got some output, clearing connection timeout [14:23:41.881] > user_name@IP地址's password: [14:23:41.882] Showing password prompt [14:23:41.912] "install" terminal command done [14:23:41.913] Install terminal quit with output:
这个问题应该是因为之前远程服务器上的VSCode Server安装或更新过程中出现了冲突。这可能是因为之前的安装或更新过程没有正常完成,导致了一个锁文件(lock file)的存在。锁文件存在的目的是为了防止同时运行多个安装或更新进程。
但是我无法验证具体的错误原因。但是可以解决:我是用putty登录到服务器后直接删除了.vscode-server这个文件夹。
也可以考虑直接删掉这个lock file。
具体表现形式是:输入密码后先报信息显示正在下载vscode-server(Setting up SSH Host IP地址: Downloading VS Code Server locally
),随后显示正在用scp转移vscode-server(Setting up SSH Host IP地址: Copying VS Code Server to host with scp
),但是过了很久(据我经验,超过10分钟就是出错了)都没有反应。
这应该是网络连接问题造成的,如果能够连接外网,应该会直接下载vscode-server;如果和本地网络能够正常连接,就会先将vscode-server下载到本地,然后用scp上传到远程服务器,我应该是因为端口不是scp默认端口而是自定义端口所以上传失败。只有这两种情况全都无法正常实现,才会导致出现这种情况。
解决方案:在Output中可以查看Remote - SSH日志,可以发现vscode-server已经下载到了本地(C:\Users\Administrator\AppData\Local\Temp\vscode_server_omit
位置),是vscode-server.tar.gz和vscode-server.tar.gz.done两个文件。
注意需要在VSCode尝试上传vscode-server时,使用scp将这两个文件上传到服务器/home/user_name/.vscode-server/bin/commit_id
下。这个文件夹一般在这个过程中会自动新建,已经存储了一个大小为0的vscode-server.tar.gz文件。如果没有新建,commit_id是本地VSCode的commit ID,点击Help - About,其中commit
项的值就是,可以点击copy
复制所有信息。
我是用WinSCP传的,直接覆盖了那个大小为0的vscode-server.tar.gz文件。另外就是建议权限全开。
如果WinSCP没有显示隐藏文件夹的话,这么设置:选项-选项-面板-显示隐藏文件
注意如果不在VSCode自己上传时就把tar.gz文件放到这个文件夹下的话,VSCode会报错安装失败,然后把这个压缩包直接删掉。属于白干。
接下来VSCode就会自己解压压缩包并安装了,然后就可以正常使用远程服务器了。
(之所以这次用的是WinSCP,上一节用的是putty,是因为我换本地电脑了,而且我喜欢用WinSCP这种图文界面传文件。具体用啥不重要,你全程用powershell都没关系)
压缩包如果没有自动下载成功也可以手动下载:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。