Я использую macbook (MacOS) для подключения к удаленному серверу Ubuntu. Я скопировал открытый ключ ssh на сервер с помощью ssh-copy-id и проверил, работает ли ключ ssh на терминале. Когда я делаю ssh username@x.x.x.x, соединение устанавливается без запроса пароля). Однако, когда я пытаюсь подключиться к серверу через Visual Studio Code, VSCode продолжает запрашивать пароль. Есть способ исправить это?

Заранее спасибо!

2
sukrama 1 Сен 2020 в 18:45

2 ответа

Лучший ответ

Проблема с файлом конфигурации.
VSCode нужен «абсолютный» путь.

В случае MacOS кажется, что ssh-copy-id копирует только абсолютный путь относительно пользователя.
Другими словами, он опускает "/Users/username" перед "/.ssh".

Добавление "/Users/username" в атрибут IdentityFile в .ssh/config решило проблему.

1
VonC 3 Сен 2020 в 16:07

Проверьте, применима ли эта microsoft/vscode-remote-release проблема 2518:

Вы должны иметь возможность выйти из этого состояния, удалив файл (на стороне удаленного сервера, как sudo root) в журнале, /home/#####/.vscode-server/bin/78a4c91400152c0f27ba4d363eb56d2835f9903a/vscode-remote-lock.#####.78a4c91400152c0f27ba4d363eb56d2835f9903aunlink) или выполнив команду "Kill VS Code Сервер на хосте ... "

Если это произойдет снова, вы можете попробовать установить remote.SSH.useFlock.

Точная команда для запуска в палитре команд (Вид-> Палитра команд):

Remote-SSH: Kill VS Code Server on Host...

Также:

В моем случае сработало удаление всего каталога ~/.vscode-server после подключения к контейнеру через ssh с помощью терминала.
(Удаление только ~/.vscode-server/bin не помогло.)

OP sukrama подтверждает в комментариях, решив проблему

Это была проблема с ключом ssh в файле конфигурации.

1
VonC 3 Сен 2020 в 16:06