tocdepth

2

Подключиться к Jupyter Server по SSH из локальной IDE или терминала

ML Space позволяет работать по SSH с Jupyter Server или исполняемой в регионе задачей из:

  • локального терминала;

  • Visual Studio Code;

  • PyCharm.

Подключение по SSH позволяет проводить удаленную отладку.

Скачать SSH ключ и настроить права доступа к нему

Для подключения:

  1. Напротив Jupyter Server, к которому предполагается подключение, перейти в меню Кнопка с тремя вертикальными точками, выберите SSH.

    ../../../_images/s__ssh_key.png
  2. (Опционально) При первом подключении по SSH появится предупреждение о неизвестном хосте. Введите в терминале слово «yes» и нажмите Enter. Обратите внимание на то, что менеджер ключей SSH-agent запоминает SSH-ключи, которые ранее вводил пользователь, и при попытке повторного подключения может использовать не тот ключ. Поэтому рекомендуем перед подключением по SSH выполнить в терминале команду (актуально для unix-подобных операционных систем):

  3. В диалоговом окне Подключение по SSH нажмите Скачать приватный ключ. Ключ сохранится в указанный при сохранении каталог.

    Примечание

    Нет необходимости скачивать приватный ключ для каждого Jupyter Server. Ключ выдается на пользователя.

  4. Скопируйте команду и выполните ее в терминале, предварительно заменив значения на свои:

    ssh test-name.ai0001011-00055@ssh-jupyter.ai.cloud.ru -p 2222 -i <path/to/private_id_rsa_key>
    

    Где:

    • test-name — название Jupyter Server;

    • ai0001011-11111 — автоматически генерируемый параметр;

    • <path/to/private_id_rsa_key> — путь к приватному ключу на локальной машине.

Примечание

Если вы работаете на OC Windows, то при копировании пути слеши удалятся. Поэтому необходимо вручную добавить обратные слеши \ в путь.

При возникновении проблем с подключением, рекомендуем к параметрам SSH добавить:

-o HostkeyAlgorithms=+ssh-rsa -o PubkeyAcceptedKeyTypes=+ssh-rsa

Команда для подключения по SSH будет выглядеть так:

ssh -o HostkeyAlgorithms=+ssh-rsa -o PubkeyAcceptedKeyTypes=+ssh-rsa buckets.ai0001011-11111@ssh-sr002-jupyter.ai.cloud.ru -p 2222 -i <path/to/private_id_rsa_key.txt>
killall ssh-agent

Изменение прав доступа к файлу с приватным ключом

Рекомендуется изменить права доступа к файлу с приватным ключом, ограничив их возможностью чтения и записи файла только для владельца.

Команды ниже позволят настроить права так, что читать и записывать файл ключа сможет только владелец, а другие пользователи не будут иметь доступ к ключу. Благодаря этому неавторизованный доступ или случайное изменение приватного ключа становятся невозможны, сохраняется его безопасность и целостность.

В терминале локальной машины выполните команду:

chmod 600 <path/to/key>

Удаленная отладка Jupyter Server по SSH с помощью Visual Studio Code

Для удаленной отладки через Visual Studio Code:

  1. Установите в Visual Studio Code расширение Remote Development.

  2. В Visual Studio Code нажмите F1 и найдите «Add New SSH Host…».

  3. Выберите конфигурационный файл, например path/to/private_id_rsa_key.txt, и в пункте Remote-SSH: Connect to Host… введите:

    ssh name.ai0001011-00560@ssh-jupyter.ai.cloud.ru -p 2222 -i path/to/private_id_rsa_key.txt
    

    В процессе подключения выберите операционную систему Linux.

    Если при подключении возникает ошибка, которая указывает на некорректный путь, то в конфигурационном файле для SSH проверьте путь к ключевому файлу. Путь должен иметь вид — path/to/private_id_rsa_key.txt.

    Если требуется подключиться по SSH к Jupyter Server нескольким пользователям одного воркспейса, то воспользуйтесь инструкцией.

  4. (Опционально) После подключения установите на удаленный хост расширение pylance.

  5. Выберите python-интерпретатор. У разных пользователя путь до python-интерпретатора может отличаться. VSCode подскажет рекомендацию в выпадающем списке. Подробности в инструкции.

Подключиться к Jupyter Server по SSH нескольким пользователям одного воркспейса с помощью Visual Studio Code

При подключении разных пользователей к Jupyter Server в одном воркспейсе конфигурационные файлы SSH попадают в один каталог и перезаписывают друг друга. Из-за этого возникает проблема при подключении разных пользователей по SSH.

  1. Запустите Visual Studio Code.

  2. Нажмите F1 и выберите Connect to Host....

    Откроется выпадающий список хостов.

    Запомните хост, для которого хотите настроить vscode-server.

  3. Нажмите Ctrl + Shift + P и выберите Open User Settings (JSON).

  4. Добавьте кастомный путь в следующем формате:

    "remote.SSH.serverInstallPath": {
        "<host>": "/test/location"
    }
    
  5. Укажите требуемый хост из шага 2:

    "remote.SSH.serverInstallPath": {
        "sr002": "/home/jovyan/.my-very-own-vscode-server"
    }
    
  6. Подключитесь к требуемому Jupyter Server по SSH.

    По указанному пути будет установлен vscode-server.

Подключиться по SSH, используя PyCharm

  1. Скачайте SSH private key.

  2. Добавьте SSH private key к SSH-agent, выполнив команду:

    ssh-add ./mlspace.private_key
    

    Где ./mlspace.private_key — путь до скачанного файла.

  3. Выполнить SSH-подключение к Jupyter Server для проверки работоспособности задачи с помощью команды:

    ssh <username>@<Адрес> -p 2222
    
  4. Настройте удаленный интерпретатор Python в соответствии с инструкцией PyCharm .

  5. Включите Python Debug Server (например, порт 7777) по инструкции PyCharm.

  6. Подключитесь к Python Debug Server удаленно со стороны Jupyter Server, выполнив одно из условий:

    • получите статический IP-адрес для вашего подключения;

    • используйте утилиту ngrok.

    Примечание

    При отладке использована утилита ngrok tcp 7777. В результате выводится адрес, по которому можно обращаться (например, tcp://2.tcp.ngrok.io:17999)

  7. Установите в Jupyter Server библиотеку pydevd-pycharm с помощью следующей команды:

    pip install pydevd-pycharm~=<version of PyCharm on the local machine>
    
Запустили Evolution free tier
для Dev & Test
Получить