Вопрос или проблема
Когда я пытаюсь подключиться к удаленному ssh в vscode
, я получаю лог вроде этого
[23:15:44.114] Уровень журнала: 2
[23:15:44.116] [email protected]
[23:15:44.116] linux x64
[23:15:44.127] SSH Resolver вызван для "ssh-remote+172.16.26.73", попытка 1
[23:15:44.128] "remote.SSH.useLocalServer": true
[23:15:44.129] "remote.SSH.path": неопределено
[23:15:44.129] "remote.SSH.configFile": неопределено
[23:15:44.130] "remote.SSH.useFlock": true
[23:15:44.130] "remote.SSH.lockfilesInTmp": false
[23:15:44.130] "remote.SSH.localServerDownload": auto
[23:15:44.130] "remote.SSH.remoteServerListenOnSocket": false
[23:15:44.131] "remote.SSH.showLoginTerminal": false
[23:15:44.131] "remote.SSH.defaultExtensions": []
[23:15:44.131] "remote.SSH.loglevel": 2
[23:15:44.131] "remote.SSH.enableDynamicForwarding": true
[23:15:44.132] "remote.SSH.enableRemoteCommand": false
[23:15:44.132] "remote.SSH.serverPickPortsFromRange": {}
[23:15:44.132] "remote.SSH.serverInstallPath": {}
[23:15:44.148] SSH Resolver вызван для хоста: 172.16.26.73
[23:15:44.148] Настройка SSH-удаленного "172.16.26.73"
[23:15:44.153] Получение локального установочного блокировки: /tmp/vscode-remote-ssh-c6eecf9c-install.lock
[23:15:44.159] Поиск существующего файла данных сервера в /home/sinanck/.config/Code/User/globalStorage/ms-vscode-remote.remote-ssh/vscode-ssh-host-c6eecf9c-d045a5eda657f4d7b676dedbfa7aab8207f8a075-0.90.1/data.json
[23:15:44.159] Использование id коммита "d045a5eda657f4d7b676dedbfa7aab8207f8a075" и качества "stable" для сервера
[23:15:44.165] Установить и запустить сервер, если это необходимо
[23:15:44.171] PATH: /home/sinanck/.local/bin:/home/sinanck/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/bin
[23:15:44.171] Проверка ssh с помощью "ssh -V"
[23:15:44.208] > OpenSSH_8.9p1 Ubuntu-3, OpenSSL 3.0.2 15 Mar 2022
[23:15:44.216] askpass сервер слушает на /run/user/1000/vscode-ssh-askpass-71e437fc181e2f9984902492aa901cc6d17248dd.sock
[23:15:44.216] Запуск локального сервера с {"serverId":1,"ipcHandlePath":"/run/user/1000/vscode-ssh-askpass-d8d3a51da8df9c70d2191a15cbc3bf8ea4922d52.sock","sshCommand":"ssh","sshArgs":["-v","-T","-D","34539","-o","ConnectTimeout=15","172.16.26.73"],"serverDataFolderName":".vscode-server","dataFilePath":"/home/sinanck/.config/Code/User/globalStorage/ms-vscode-remote.remote-ssh/vscode-ssh-host-c6eecf9c-d045a5eda657f4d7b676dedbfa7aab8207f8a075-0.90.1/data.json"}
[23:15:44.217] Локальная среда сервера: {"SSH_AUTH_SOCK":"/run/user/1000/keyring/ssh","SHELL":"/bin/bash","DISPLAY":":0","ELECTRON_RUN_AS_NODE":"1","SSH_ASKPASS":"/home/sinanck/.vscode/extensions/ms-vscode-remote.remote-ssh-0.90.1/out/local-server/askpass.sh","VSCODE_SSH_ASKPASS_NODE":"/snap/code/111/usr/share/code/code","VSCODE_SSH_ASKPASS_EXTRA_ARGS":"--ms-enable-electron-run-as-node","VSCODE_SSH_ASKPASS_MAIN":"/home/sinanck/.vscode/extensions/ms-vscode-remote.remote-ssh-0.90.1/out/askpass-main.js","VSCODE_SSH_ASKPASS_HANDLE":"/run/user/1000/vscode-ssh-askpass-71e437fc181e2f9984902492aa901cc6d17248dd.sock"}
[23:15:44.227] Запущен 477089
[23:15:44.496] > local-server-1> Запущен ssh, pid=477098
[23:15:44.503] stderr> OpenSSH_8.9p1 Ubuntu-3, OpenSSL 3.0.2 15 Mar 2022
[23:15:44.542] stderr> debug1: Ключ хоста сервера: ssh-ed25519 SHA256:ZYvzW+Upd0FIkDzmOcNVB2yCWZCHQN8GqKZRybC7QZQ
[23:15:44.839] Получен запрос askpass: {"request":"[email protected]'s password:"}
[23:15:44.840] Показать запрос на ввод пароля
[23:15:44.841] Ожидание межоконного ввода пароля на /run/user/1000/vscode-ssh-askpass-1742cf921041d3dcec39277056d239200013e310.sock
[23:15:44.841] Запись запроса на ввод пароля в globalState
[23:15:47.444] Получен ответ на пароль
[23:15:47.445] Интерфейс дал ответ: *********
[23:15:47.446] Очистка другого окна auth сервера
[23:15:47.500] stderr> Успешно аутентифицирован по 172.16.26.73 ([172.16.26.73]:22) с использованием "пароля".
[23:15:48.066] > Добро пожаловать в Ubuntu 20.04.2 LTS (GNU/Linux 5.11.0-37-generic x86_64)
>
> * Документация: https://help.ubuntu.com
> * Управление: https://landscape.canonical.com
> * Поддержка: https://ubuntu.com/advantage
>
> 458 обновлений можно применить немедленно.
> 298 из этих обновлений являются стандартными обновлениями безопасности.
> Чтобы увидеть эти дополнительные обновления, выполните: apt list --upgradable
>
>
> Список доступных обновлений старше недели.
> Чтобы проверить наличие новых обновлений, выполните: sudo apt update
> Не удалось подключиться к https://changelogs.ubuntu.com/meta-release-lts. Проверьте свое интернет-соединение или настройки прокси
>
> Ваш стек аппаратного обеспечения (HWE) поддерживается до апреля 2025 года.
[23:15:48.217] > готово: 5db122392114
[23:15:48.235] > Linux 5.11.0-37-generic #41~20.04.2-Ubuntu SMP Пт Сен 24 09:06:38 UTC 2021
[23:15:48.236] Платформа: linux
[23:15:48.243] > /bin/bash
[23:15:48.244] Оболочка: bash
[23:15:48.244] Создание подпроцесса bash внутри "bash"
[23:15:48.294] > версия bash: 5.0.17(1)-release
[23:15:48.312] > 5db122392114: выполнение
[23:15:48.463] > Получение блокировки на /home/muhammed_1901cs38/.vscode-server/bin/d045a5eda657f4d7b676dedbfa7aab8207f8a075/vscode-remote-lock.muhammed_1901cs38.d045a5eda657f4d7b676dedbfa7aab8207f8a075
[23:15:48.468] > Установка уже в процессе...
[23:15:48.473] > Если вы продолжаете видеть это сообщение, вы можете попробовать переключить настройку remote.SSH.useFlock
> 5db122392114: начало
> exitCode==24==
> listeningOn====
> osReleaseId==ubuntu==
> arch==x86_64==
> tmpDir==/run/user/1055==
> platform==linux==
> unpackResult====
> didLocalDownload==0==
> downloadTime====
> installTime====
> extInstallTime====
> serverStartTime====
> 5db122392114: конец
[23:15:48.474] Получен вывод установки:
exitCode==24==
listeningOn====
osReleaseId==ubuntu==
arch==x86_64==
tmpDir==/run/user/1055==
platform==linux==
unpackResult====
didLocalDownload==0==
downloadTime====
installTime====
extInstallTime====
serverStartTime====
[23:15:48.476] Процесс установки сервера уже в процессе - ожидание и повторная попытка
[23:15:48.477] Прекращение локального сервера
[23:15:48.494] Выход локального сервера: 15
[23:15:49.485] askpass сервер слушает на /run/user/1000/vscode-ssh-askpass-63095919f2fd495c76329ec9ee199fdc4db10c0e.sock
[23:15:49.485] Запуск локального сервера с {"serverId":2,"ipcHandlePath":"/run/user/1000/vscode-ssh-askpass-968db2b9bd48590c4ec997d199ca9aec30e5be83.sock","sshCommand":"ssh","sshArgs":["-v","-T","-D","34539","-o","ConnectTimeout=15","172.16.26.73"],"serverDataFolderName":".vscode-server","dataFilePath":"/home/sinanck/.config/Code/User/globalStorage/ms-vscode-remote.remote-ssh/vscode-ssh-host-c6eecf9c-d045a5eda657f4d7b676dedbfa7aab8207f8a075-0.90.1/data.json"}
[23:15:49.486] Локальная среда сервера: {"SSH_AUTH_SOCK":"/run/user/1000/keyring/ssh","SHELL":"/bin/bash","DISPLAY":":0","ELECTRON_RUN_AS_NODE":"1","SSH_ASKPASS":"/home/sinanck/.vscode/extensions/ms-vscode-remote.remote-ssh-0.90.1/out/local-server/askpass.sh","VSCODE_SSH_ASKPASS_NODE":"/snap/code/111/usr/share/code/code","VSCODE_SSH_ASKPASS_EXTRA_ARGS":"--ms-enable-electron-run-as-node","VSCODE_SSH_ASKPASS_MAIN":"/home/sinanck/.vscode/extensions/ms-vscode-remote.remote-ssh-0.90.1/out/askpass-main.js","VSCODE_SSH_ASKPASS_HANDLE":"/run/user/1000/vscode-ssh-askpass-63095919f2fd495c76329ec9ee199fdc4db10c0e.sock"}
[23:15:49.492] Запущен 477115
[23:15:49.706] > local-server-2> Запущен ssh, pid=477123
[23:15:49.711] stderr> OpenSSH_8.9p1 Ubuntu-3, OpenSSL 3.0.2 15 Mar 2022
[23:15:49.784] stderr> debug1: Ключ хоста сервера: ssh-ed25519 SHA256:ZYvzW+Upd0FIkDzmOcNVB2yCWZCHQN8GqKZRybC7QZQ
[23:15:50.066] Получен запрос askpass: {"request":"[email protected]'s password:"}
[23:15:50.067] Показать запрос на ввод пароля
[23:15:50.068] Ожидание межоконного ввода пароля на /run/user/1000/vscode-ssh-askpass-a5b7bc9fb6026360e91b2ea2838c42d95db8d022.sock
[23:15:50.068] Запись запроса на ввод пароля в globalState
Проблема была решена путем удаления папки .vscode в home/user_name удаленного сервера
В следующий раз проверьте, имеет ли ваш домашний каталог + .ssh файл конфигурации, похожий на этот. особенно строку “IdentityFile”
Host 192.168.1.1
HostName 192.168.1.1
User laurijssen
IdentityFile myprivatekey
Ответ или решение
Проблема с постоянным запросом пароля при подключении по SSH в VSCode
Когда вы пытаетесь подключиться к удаленному серверу по SSH в Visual Studio Code (VSCode), и система многократно запрашивает ввод пароля, это может быть вызвано несколькими причинами. Вот детальный анализ данной проблемы и советы по ее устранению.
Причины проблемы
-
Ошибки в конфигурации SSH:
Часто основная причина заключается в некорректной настройке SSH-клиента. Проверьте, чтобы ваши настройки в файле конфигурации~/.ssh/config
выглядели следующим образом:Host 172.16.26.73 HostName 172.16.26.73 User your_username IdentityFile ~/.ssh/myprivatekey
Убедитесь, что вы указываете правильный путь к вашему приватному ключу (свойству
IdentityFile
), и что он имеет правильные права доступа (600). -
Отсутствие агента SSH:
Если вы используете ключи SSH, убедитесь, что ваш агент SSH запущен и что ваш ключ добавлен. Можно добавить ключ с помощью команды:ssh-add ~/.ssh/myprivatekey
Проверьте, работает ли агент командой:
ssh-add -l
-
Правильные права на папки:
Проблема может заключаться в недостаточных привилегиях на каталоге.ssh
. Убедитесь, что у вас есть права 700 на папку~/.ssh
и 600 на файлы внутри этой директории. Проверьте и исправьте права с помощью команд:chmod 700 ~/.ssh chmod 600 ~/.ssh/*
Логи и диагностика
Ваша проблема также может быть связана с тем, что в логах VSCode есть ошибки, указывающие на сбои в установке или запуске SSH-сервера на удаленном хосте:
...
Server installation process already in progress - waiting and retrying
...
Это может указывать на то, что предыдущий процесс установки сервера VSCode не завершился должным образом. В этом случае стоит попробовать удалить папку .vscode
в домашней директории вашего пользователя на удаленном сервере:
rm -rf ~/.vscode
Рекомендации по устранению проблемы
-
Проверка соединения:
Убедитесь, что вы можете подключиться к удаленному серверу с помощью стандартной команды SSH из терминала:ssh your_username@172.16.26.73
Если запрос пароля повторяется, это указывает на проблемы с аутентификацией.
-
Перезапуск VSCode:
После внесения изменений в конфигурацию или на удаленном сервере, попробуйте полностью перезапустить Visual Studio Code. -
Логи и отладка:
Увеличьте уровень логирования в настройках VSCode для удаленного SSH, выставивremote.SSH.loglevel
на 3. Это может дать более подробную информацию о происходящем.
Заключение
Как мы видим, множество факторов могут привести к постоянному запросу пароля при подключении по SSH в VSCode. Следуя указанным рекомендациям и внимательно проверяя конфигурацию, вы сможете устранить проблемные моменты и обеспечить стабильное подключение к вашему удаленному серверу. Если вы продолжаете сталкиваться с проблемами, рекомендуется обратиться к документации VSCode или сообществу для дополнительной помощи.