Solução para contornar o problema de tunelamento usando ssh para acessar o Jupyter notebook que é bloqueado pelo firewall da rede wifi do ISC, onde ocorrem os encontros presenciais do grupo de estudo em Deep Learning de Brasília.
A ideia é tornar o servidor jupyter executando no Google Cloud Platform (GCP) acessível para rede externa, diretamente por seu IP, sem a necessidade de tunelamento via ssh.
https://console.cloud.google.com/networking/addresses/
Logado na console GCP, acessar o endereço acima e reservar um endereço IP estático: "Reserve Static Address". Anotar esse endereço "IP_instância" que será algo no formato: 35.235.115.21
https://console.cloud.google.com/networking/firewalls/
Criar nova regra para o firewall da sua instância, nos seguintes moldes:
https://console.cloud.google.com/compute/instances
Inicie a instância e abra o shell:
Execute os comandos abaixo para permitir que o usuario do shell possa modificar o conteudo dos notebooks
sudo chmod -R 777 /home/jupyter/
Vamos configurar o Jupyter para usarmos senha para acessar, ao invés de token e também para permitir acesso remoto.
O passo de definição de senha não é obrigatório, mas daí será preciso usar o token criado na inicialização do Jupyter. Creio que seja mais prático acessá-lo usando senha.
Criando o arquivo de configuração do Jupyter, execute os comandos abaixo.
Cria arquivo de configuração:
jupyter notebook --generate-config
Define sua própria senha de acesso:
jupyter notebook password
Edita o arquivo de configuração criado:
nano ~/.jupyter/jupyter_notebook_config.py
Adicione no arquivo acima de configuração, com o editor nano (ou outro de sua preferência) as seguintes linhas, para habilitar acesso remoto:
c.NotebookApp.ip = '*'
c.NotebookApp.token = ''
c.NotebookApp.open_browser = False
c.NotebookApp.port = 8080
c.NotebookApp.allow_remote_access = True
Finalmente, lança a execução do servidor jupyter na pasta em que tem acesso aos cadernos da fastai
jupyter notebook /home/jupyter &
Acesse o servidor jupyter pelo IP fixo de sua instância, no seu navegador local: http://IP_instância:8080
Substituir, acima, o "IP_instância" pelo número IP anotado anteriormente, como, por exemplo: 35.235.115.21 ficaria http://35.235.115.21:8080
Ao acessar o endereço acima, você estará se conectando ao servidor Jupyter que solicitará uma senha, aquela mesmo que você definiu em passo anterior na configuração de seu Jupyter (~/.jupyter/jupyter_notebook_config.py).
E voilá!
:wq!