Como Configurar o Jupyter Notebook no Ubuntu para Atender a Todos os IPs, Usar Senha e HTTPS com Segurança
Configurar o Jupyter Notebook de forma segura no Ubuntu é essencial, especialmente se você pretende acessá-lo remotamente. Neste artigo, vamos ajustar o Jupyter para responder a todos os IPs, proteger com senha, e habilitar HTTPS.
Passo 1: Instalar o Jupyter Notebook
Caso ainda não tenha o Jupyter Notebook instalado, você pode instalá-lo com:
sudo apt update
sudo apt install python3-pip
pip3 install jupyter
Passo 2: Gerar o Arquivo de Configuração
Gere o arquivo de configuração do Jupyter executando:
jupyter server --generate-config
O arquivo jupyter_server_config.py será gerado no diretório ~/.jupyter/.
Passo 3: Configurar o Jupyter para Atender a Todos os IPs
Edite o arquivo ~/.jupyter/jupyter_server_config.py:
nano ~/.jupyter/jupyter_server_config.py
Adicione ou edite as seguintes linhas:
c.ServerApp.ip = '0.0.0.0' # Permite conexões de todos os endereços IP
c.ServerApp.port = 8888 # Porta de acesso ao servidor
c.ServerApp.open_browser = False # Impede que o navegador abra automaticamente
Configurar c.ServerApp.ip = '0.0.0.0' permite que o servidor atenda a todas as interfaces de rede.
Passo 4: Configurar uma Senha Segura
É fundamental proteger o Jupyter Notebook com uma senha. Para configurar a senha, siga os passos abaixo:
- No terminal Python, gere o hash da senha com o comando:
from jupyter_server.auth import passwd
passwd()
- Insira a senha desejada e confirme. Isso gerará um hash seguro.
- No arquivo
jupyter_server_config.py, adicione o hash gerado:
c.ServerApp.password = 'sha1:seu_hash_aqui'
Dica: Utilize senhas fortes e evite palavras de fácil adivinhação.
Passo 5: Configurar HTTPS para Comunicação Segura
Habilitar HTTPS é crucial para evitar que dados sejam transmitidos sem criptografia. Você pode gerar um certificado SSL utilizando o OpenSSL:
- Crie um certificado autoassinado com o comando:
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout mykey.key -out mycert.pem
- No arquivo
jupyter_server_config.py, configure os caminhos para o certificado e a chave:
c.ServerApp.certfile = u'/caminho/para/mycert.pem'
c.ServerApp.keyfile = u'/caminho/para/mykey.key'
Utilizar um certificado autoassinado é prático para testes, mas para um ambiente de produção, considere usar um certificado de uma autoridade confiável.
Passo 6: Executar o Jupyter Notebook com Segurança
Depois de todas as configurações, execute o Jupyter Server:
jupyter server
Acesse o Jupyter Notebook através do link https://<seu_ip>:8888 e utilize a senha configurada.
Considerações de Segurança
- Firewall: Configure seu firewall (como
ufw) para permitir conexões na porta configurada para o Jupyter Notebook:
sudo ufw allow 8888
- Logs e Monitoramento: Ative o monitoramento dos acessos e mantenha os logs para detectar possíveis acessos não autorizados.
- Atualizações: Mantenha o Jupyter e seus pacotes atualizados para garantir que você esteja utilizando as versões mais seguras.
Conclusão
Configurar o Jupyter Notebook no Ubuntu de forma segura é fundamental para garantir que suas operações remotas sejam protegidas contra acessos indesejados. A implementação de senha e HTTPS é um passo importante para a segurança, especialmente em ambientes abertos ou na nuvem.

Leave a comment