Удаленный SSH постоянно запрашивает пароль в VSCode.

Вопрос или проблема

Когда я пытаюсь подключиться к удаленному 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), и система многократно запрашивает ввод пароля, это может быть вызвано несколькими причинами. Вот детальный анализ данной проблемы и советы по ее устранению.

Причины проблемы

  1. Ошибки в конфигурации SSH:
    Часто основная причина заключается в некорректной настройке SSH-клиента. Проверьте, чтобы ваши настройки в файле конфигурации ~/.ssh/config выглядели следующим образом:

    Host 172.16.26.73
     HostName 172.16.26.73
     User your_username
     IdentityFile ~/.ssh/myprivatekey

    Убедитесь, что вы указываете правильный путь к вашему приватному ключу (свойству IdentityFile), и что он имеет правильные права доступа (600).

  2. Отсутствие агента SSH:
    Если вы используете ключи SSH, убедитесь, что ваш агент SSH запущен и что ваш ключ добавлен. Можно добавить ключ с помощью команды:

    ssh-add ~/.ssh/myprivatekey

    Проверьте, работает ли агент командой:

    ssh-add -l
  3. Правильные права на папки:
    Проблема может заключаться в недостаточных привилегиях на каталоге .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

Рекомендации по устранению проблемы

  1. Проверка соединения:
    Убедитесь, что вы можете подключиться к удаленному серверу с помощью стандартной команды SSH из терминала:

    ssh your_username@172.16.26.73

    Если запрос пароля повторяется, это указывает на проблемы с аутентификацией.

  2. Перезапуск VSCode:
    После внесения изменений в конфигурацию или на удаленном сервере, попробуйте полностью перезапустить Visual Studio Code.

  3. Логи и отладка:
    Увеличьте уровень логирования в настройках VSCode для удаленного SSH, выставив remote.SSH.loglevel на 3. Это может дать более подробную информацию о происходящем.

Заключение

Как мы видим, множество факторов могут привести к постоянному запросу пароля при подключении по SSH в VSCode. Следуя указанным рекомендациям и внимательно проверяя конфигурацию, вы сможете устранить проблемные моменты и обеспечить стабильное подключение к вашему удаленному серверу. Если вы продолжаете сталкиваться с проблемами, рекомендуется обратиться к документации VSCode или сообществу для дополнительной помощи.

Оцените материал
Добавить комментарий

Капча загружается...