#visual-studio-code #ssh #vscode-remote
#visual-studio-code #ssh #vscode-удаленный
Вопрос:
Я недавно переехал в другую страну, но я работаю удаленно, и поэтому я думал, что мое рабочее пространство не будет прервано. Однако теперь, когда я пытаюсь подключиться к своему рабочему пространству через ssh в vscode, соединение продолжает отключаться. Я подключаюсь к рабочей области через VPN, предоставляемую моим рабочим пространством, и, хотя я могу подключиться к linux-окну, в котором я работаю, через ssh, я не могу подключиться к нему через расширение vscode-remote-ssh, как я делал в течение последних нескольких месяцев. Ничего не изменилось с точки зрения настроек на моем компьютере. Я прикрепил вывод, который предоставляет vscode, когда я пытался подключиться ниже (это результат попытки повторного подключения, но первая попытка подключения выглядит точно так же).
[15:36:11.086] ------
[15:36:11.086] SSH Resolver called for "ssh-remote 203.0.113.0", attempt 2, (Reconnection)
[15:36:11.087] SSH Resolver called for host: 203.0.113.0
[15:36:11.087] Setting up SSH remote "203.0.113.0"
[15:36:11.091] Using commit id "e5e9e69aed6e1984f7499b7af85b3d05f9a6883a" and quality "stable" for server
[15:36:11.092] Install and start server if needed
[15:36:11.096] Using SSH config file "C:UserswindowsUser.sshconfig"
[15:36:11.096] Running script with connection command: ssh -T -D 53043 -F "C:UserswindowsUser.sshconfig" 203.0.113.0 bash
[15:36:11.101] Terminal shell path: C:WindowsSystem32cmd.exe
[15:36:11.240] >
[15:36:11.240] Got some output, clearing connection timeout
[15:36:13.669] > linuxUser@203.0.113.0's password:
[15:36:13.670] Showing password prompt
[15:36:29.329] Got password response
[15:36:29.330] "install" wrote data to terminal: "*******"
[15:36:29.358] >
>
[15:36:31.047] > 3a294560e95d: running
> Acquiring lock on /home/linuxUser/.vscode-server/bin/e5e9e69aed6e1984f7499b7af85b3
> d05f9a6883a/vscode-remote-lock.linuxUser.e5e9e69aed6e1984f7499b7af85b3d05f9a6883a
>
[15:36:31.073] > Found existing installation at /home/linuxUser/.vscode-server/bin/e5e9e69aed6e1984
> f7499b7af85b3d05f9a6883a...
> Found running server...
>
> *
> * Reminder: You may only use this software with Visual Studio family products,
> * as described in the license (https://go.microsoft.com/fwlink/?linkid=2077057)
> *
>
> Checking server status on port 34103 with wget
>
[15:36:31.108] > 3a294560e95d: start
>
[15:36:31.391] > sshAuthSock====
> listeningOn==34103==
> osReleaseId==ubuntu==
> arch==x86_64==
> webUiAccessToken====
> tmpDir==/run/user/1000==
> platform==linux==
> 3a294560e95d: end
>
[15:36:31.391] Received install output:
sshAuthSock====
listeningOn==34103==
osReleaseId==ubuntu==
arch==x86_64==
webUiAccessToken====
tmpDir==/run/user/1000==
platform==linux==
[15:36:31.392] Remote server is listening on 34103
[15:36:31.392] Parsed server configuration: {"remoteListeningOn":{"port":34103},"osReleaseId":"ubuntu","arch":"x86_64","webUiAccessToken":"","sshAuthSock":"","tmpDir":"/run/user/1000","platform":"linux"}
[15:36:31.393] Starting forwarding server. localPort 53048 -> socksPort 53043 -> remotePort 34103
[15:36:31.395] Forwarding server listening on 53048
[15:36:31.395] Waiting for ssh tunnel to be ready
[15:36:31.396] Tunneled 34103 to local port 53048
[15:36:31.396] Resolved "ssh-remote 203.0.113.0" to "127.0.0.1:53048"
[15:36:31.397] [Forwarding server 53048] Got connection 0
[15:36:31.402] ------
[15:36:31.430] [Forwarding server 53048] Got connection 1
[15:36:31.431] [Forwarding server 53048] Got connection 2
Соединение зависает [Forwarding server 53048] Got connection 2
на несколько секунд, прежде чем отключить меня и повторить это сообщение (и снова запросить пароль). Я попытался удалить файл .vscode-server с компьютера Linux, который затем сразу же воссоздается, но он по-прежнему не позволяет мне подключиться. Я также попытался изменить время ожидания в настройках vscode, но это также ничего не дало. Я не уверен, почему это произойдет после простого физического перемещения компьютера из одного места в другое, но оставаясь на том же vpn, и почему я все равно смогу подключиться с помощью обычного ssh, но только не через расширение vscode-remote ssh.
Ответ №1:
Вы можете попробовать подключить ssh вручную к серверу и удалить папку удаленного сервера, что заставит VSCode загрузить его снова с нуля.
Это помогло мне сегодня:
rm -rf ~/.vscode-server/
rm -rf ~/.vscode-remote/
Предложение исходит из следующего обсуждения: https://github.com/microsoft/vscode-remote-release/issues/2513
Вы также можете проверить, разрешен ли ваш новый сетевой IP-адрес в целевой группе сервера.
Комментарии:
1. сработало для меня (ubuntu 18.04, vscode 1.52.1, удаленный ssh 0.64)
2. это то, что исправило это для меня. введите ssh вручную, затем выполните следующие команды, затем попробуйте повторно подключиться с помощью удаленного расширения в vscode. спасибо, что поделились
Ответ №2:
У меня была такая же проблема, и для меня. У меня нет решения, кроме дрянного обходного пути — перезагрузите удаленную машину. я использую ubuntu 20.04, и как только я перезагружусь, я смогу подключиться из Visual Studio, и соединение останется, НО как только я закрою VSC и перезапущу, я снова увижу эту проблему, и снова мне придется перезагрузить удаленную машину.
РЕДАКТИРОВАТЬ: позже я обнаружил, что остановка демона sshd с помощью systemctl start / stop sshd также помогает в этой ситуации — поэтому нет необходимости перезагружаться
Комментарии:
1.
systemctl restart sshd
— это решило мою проблему, спасибо!2. Привет, сегодня в ноябре 2021 года у меня такая же проблема, вы нашли какие-либо другие решения?
Ответ №3:
Эта проблема связана с жестко запрограммированным 20-секундным таймаутом в протоколе между клиентом vscode и удаленным сервером. Это подробно обсуждается здесь: https://github.com/microsoft/vscode-remote-release/issues/7497 . Никаких исправлений для этого пока нет, и, надеюсь, они будут исправлены в ближайшее время, сделав это время ожидания настраиваемым (чтобы разрешить преодоление этих отключений).