2 minuto(s) de leitura

Neste tutorial, mostramos como usar o Jupyter lab com um túnel ssh. A ideia aqui é executar um Jupyter em um servidor, e usá-lo em sua máquina. Para fazer isso, precisamos usar o túnel ssh.

Nota 1: este tutorial pressupõe que você conhece o básico sobre conexão e túnel ssh. Se você não os conhece, você pode verificar os tutoriais sobre eles:

Passo 1: iniciando o Jupyter lab no servidor

Para iniciar o Jupyter lab no servidor, primeiro, você precisa se conectar no servidor. Usando o servidor como exemplo e assumindo que temos o .ssh/config configurado, só precisamos executar:

> ssh servidor

Em seguida, assumindo que o Jupyter lab está instalado no servidor, precisamos iniciá-lo:

jupyter-lab --ip 0.0.0.0 --port <NÚMERO>

O <NÚMERO> é o número da porta (por exemplo, 8989). Certifique-se de escolher uma porta disponível.

Depois de executar o comando anterior, você verá algo como:

[I 13:59:29.940 LabApp] JupyterLab extension loaded from /home/andre.cp/.conda/envs/gandalf/lib/python3.8/site-packages/jupyterlab
[I 13:59:29.940 LabApp] JupyterLab application directory is /home/andre.cp/.conda/envs/gandalf/share/jupyter/lab
[I 13:59:29.943 LabApp] Serving notebooks from local directory: /home/andre.cp
[I 13:59:29.943 LabApp] Jupyter Notebook 6.1.3 is running at:
[I 13:59:29.943 LabApp] http://node1:8989/?token=3e8655ec3f45213437931dff89fe15eb228811ebdb48d10d
[I 13:59:29.943 LabApp]  or http://127.0.0.1:8989/?token=3e8655ec3f45213437931dff89fe15eb228811ebdb48d10d
[I 13:59:29.943 LabApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[W 13:59:29.968 LabApp] No web browser found: could not locate runnable browser.
[C 13:59:29.968 LabApp]

    To access the notebook, open this file in a browser:
        file:///home/andre.cp/.local/share/jupyter/runtime/nbserver-18541-open.html
    Or copy and paste one of these URLs:
        http://node1:8989/?token=3e8655ec3f45213437931dff89fe15eb228811ebdb48d10d
     or http://127.0.0.1:8989/?token=3e8655ec3f45213437931dff89fe15eb228811ebdb48d10d

O endereço http://127.0.0.1:8989/?token=3e8655ec3f45213437931dff89fe15eb228811ebdb48d10d é o que vamos usar em nosso navegador. Mas primeiro, precisamos configurar o túnel ssh.

Dica: se você tiver um ambiente Python ou Conda, você pode ativá-lo antes de executar o comando Jupyter lab. Dessa forma, o Jupyter vai usar as bibliotecas disponíveis dentro do ambiente. Obviamente, o ambiente deve conter o próprio Jupyter.

Passo 2: criando o túnel ssh

Agora, só precisamos criar a conexão com o servidor. Para fazer isso, só precisamos executar:

> ssh -L localhost:<NÚMERO_DA_PORTA_LOCAL>:localhost:<NÚMERO_DA_PORTA_DO_SERVIDOR>

Se usarmos a porta 8989, você pode substituir tanto <NÚMERO_DA_PORTA_LOCAL> quanto <NÚMERO_DA_PORTA_DO_SERVIDOR> por este número (se estiver disponível em sua máquina, caso contrário, você pode configurar outro número).

O tutorial como criar um túnel ssh detalha esse processo. Portanto, não vamos descrever tudo novamente aqui.

Passo 3: conexão com o Jupyter

Este é o passo mais fácil. Só precisamos acessar o endereço que o Jupyter nos retorna em nosso navegador. Neste caso, é:

http://127.0.0.1:8989/?token=3e8655ec3f45213437931dff89fe15eb228811ebdb48d10d

Se tudo estiver funcionando corretamente, o Jupyter, rodando no servidor, vai iniciar em seu navegador.

Categorias:

Atualizado em: