Использование rmate с несколькими пользователями для подключения к одному серверу (с помощью VS Code remote) — как использовать сокет? Или другие идеи?

#python #sockets #server #visual-studio-code #textmate

#python #сокеты #сервер #visual-studio-code #textmate

Вопрос:

Я пытаюсь настроить VS Code remote с помощью rmate (https://pypi.org/project/rmate / т.е. это содержимое, которое я скопировал и превратил в исполняемый файл https://raw.githubusercontent.com/sclukey/rmate-python/master/bin/rmate ) для редактирования файлов на сервере, к которому несколько человек из моей команды потенциально могли бы получить доступ одновременно.

Я использую хост: 127.0.0.1 и порт: 52698 для подключения к удаленному серверу. Все работает отлично, пока второй пользователь также не попытается подключиться, и в этом случае введите «rmate file.py «открывает его на компьютере пользователя, который вошел в систему первым — и это ожидаемо, поскольку мы используем один и тот же хост и порт — но это не то, чего я хочу, очевидно, что у каждого должно быть свое собственное подключение и он может открывать файл только в своем редакторе vs code.

Я попытался изменить localhost и порт. Но это не очень удобно, т.Е. кто какой использует? как мне отслеживать это? в долгосрочной перспективе это кажется довольно плохим — было бы нормально, если бы мы могли использовать идентификаторы сотрудников, но поскольку localhost и port работают только в определенных диапазонах, это невозможно. Кроме того, чтобы изменить используемый порт, я должен отредактировать файл rmate и изменить порт вручную, чтобы всем нужно было ссылаться на другой файл rmate (небольшая проблема, но в настоящее время мы используем один и тот же файл rmate).

Что я видел, так это то, что некоторые другие версии rmate используют сокет (https://github.com/textmate/rmate/pull/38 ) итак, я попробовал это и тоже не смог заставить это работать (открытие файла на компьютере коллеги сохраняется) — одна из причин в том, что я не понимал, как они это делают, просто что это возможно, а вторая часть в том, что я не уверен, настроена ли вообще версия python rmate для этого.

Я использовал следующие параметры конфигурации, чтобы попытаться использовать сокет вместо:

Тест хоста

 Port 22

User <my username>

IdentityFile ~/.ssh/<ssh file>

HostName <hostname>

RemoteForward 52698 127.0.0.1:52698

ControlMaster auto

ControlPath ~/.ssh/socket-%r@%h:%pOA
  

Последние две строки представляют собой попытку использования сокета. В папке .ssh нет файла, который имел бы какое-либо отношение к сокету — это просто то, что я нашел в Интернете, так что это может быть совершенно бесполезно, но он по-прежнему правильно регистрирует меня, и я заметил, что я больше не могу входить в систему из двух разных командных строк, если я использую этот хост для ssh.

Примечание: Я мало что знаю о сокетах — я просто теоретически знаю, что они делают, когда кто-то посещает веб-сайт.

Комментарии:

1. Пара внешних ответов: для суперпользователя и на GitHub , оба они хорошо изложены в этом руководстве . В основном они рекомендуют жестко кодировать разные порты для каждого пользователя. :- / Было бы неплохо, если бы был какой-то более автоматический способ согласования порта. Даже когда я (один и тот же пользователь) запускаю несколько ssh на удаленном сервере, он может сказать, что порт уже используется.