Saltar para o conteúdo principal

Documentation Index

Fetch the complete documentation index at: https://docs.replit.com/llms.txt

Use this file to discover all available pages before exploring further.

O que é SSH?

SSH, que significa Secure Shell, é um protocolo seguro que facilita o acesso remoto à interface de linha de comando do seu Replit App. Com SSH, você pode transferir arquivos sem problemas e usar sua Integrated Development Environment (IDE) local preferida para editar código no Replit, melhorando a colaboração e a produtividade no seu fluxo de trabalho de desenvolvimento. A funcionalidade SSH está disponível para os planos Core, Pro e todos os outros planos pagos. Aqui está uma visão geral do processo:
  • Gere um par de chaves SSH na sua máquina local
  • Adicione essa chave SSH ao painel SSH em qualquer Replit App
  • Conecte-se usando um cliente SSH ou um editor que possa funcionar via SSH (como VSCode ou Cursor)
As chaves SSH estão associadas à sua conta, não a um Replit App específico. Isso significa que você só precisa adicionar uma chave pública uma vez, após o que pode se conectar a qualquer Replit App ao qual tenha acesso.

Por que usar SSH?

  • Atualizações automáticas entre o Replit App e o editor: Qualquer alteração feita no Replit App é refletida no seu editor instantaneamente, e qualquer modificação no editor é atualizada no Replit App. Essa sincronização contínua garante que seu código esteja sempre atualizado em todas as plataformas.
  • Sincronização de gerenciamento de arquivos: Seja adicionando, excluindo ou atualizando arquivos, essas alterações são sincronizadas em tempo real entre seu editor e o Replit App. Esse recurso garante que a estrutura do seu projeto permaneça consistente, independentemente de onde as alterações são iniciadas.
  • Gerenciamento de pastas e movimentação de arquivos: Mover arquivos entre pastas também é sincronizado entre seus editores e o Replit App. Isso garante que as alterações organizacionais feitas em um ambiente sejam refletidas com precisão no outro, mantendo a integridade e a estrutura do seu projeto.

Encontrar ou criar um par de chaves

Para configurar SSH para sua conta, você precisará da sua chave pública SSH.

Verificar se você já tem um par de chaves

Você pode verificar se já tem uma chave pública executando o seguinte comando em um Terminal na sua máquina local:
ls -l ~/.ssh
Se você receber um erro, tudo bem; prossiga para Gerando um novo par de chaves. Se você vir um arquivo chamado replit.pub, prossiga para Obter o conteúdo da sua chave pública.

Gerando um novo par de chaves

Na sua máquina, abra uma janela de Terminal (ou Prompt de Comando) e cole o seguinte comando:
ssh-keygen -t ed25519 -f ~/.ssh/replit -q -N ""
Este comando verifica se um arquivo de chave pública SSH específico já existe. Se não existir, cria uma nova chave SSH com alguns parâmetros sensatos.

Obter o conteúdo da sua chave pública

Depois de confirmar que tem um par de chaves ou criar um, exiba o conteúdo da chave pública (um dos dois arquivos com nomes semelhantes, com sufixo .pub), pois precisaremos disso mais tarde.
cat ~/.ssh/replit.pub
Salve o conteúdo de replit.pub para usar mais tarde neste artigo e prossiga para adicionar a chave SSH à sua conta.

Adicionar a chave SSH à sua conta

Adicionar a chave pública diretamente em um Replit App, usando o painel SSH

  1. No seu Replit App em qualquer janela, selecione o botão + e procure por SSH.
Botão da ferramenta SSH na interface do Replit
  1. Navegue até a aba Keys e selecione New SSH key.
  2. Na janela popup, insira um Label para sua chave (por exemplo, my-ssh-key) e cole a chave pública que você copiou na seção Key. Selecione o botão Add SSH Key. Sua chave foi adicionada e autorizada para uso.
Caixa de diálogo de adição de chave SSH com os campos de rótulo e chave preenchidos

Adicionar a chave pública diretamente nas Configurações

Você também pode adicionar uma chave SSH abrindo Settings e, em Account, selecionando Advanced (ou a opção SSH keys). Selecione Add SSH key e cole o conteúdo de replit.pub da seção anterior, Encontrar ou criar um par de chaves.
Quando você tem várias chaves públicas na sua máquina, é importante garantir que use a combinação correta de chaves privada e pública para sua configuração SSH.

Conectando ao seu Replit App

Configurar seu SSH config

  1. Em um terminal, verifique se o diretório ~/.ssh e o arquivo ~/.ssh/config existem:
mkdir -p ~/.ssh && chmod 700 ~/.ssh && touch ~/.ssh/config && chmod 600 ~/.ssh/config
open -a 'TextEdit' ~/.ssh/config || nano ~/.ssh/config
  1. Adicione um bloco de configuração para usar o par de chaves replit para todos os domínios *.replit.dev:
Host *.replit.dev
    Port 22
    IdentityFile ~/.ssh/replit
    StrictHostKeyChecking accept-new

Conectar pelo VSCode ou Cursor

  1. Em um Replit App, abra o painel SSH
  2. No painel SSH, navegue até a aba Connect e selecione Launch VS Code.
Aba de conexão SSH mostrando a opção Launch VS Code
  1. Se você for solicitado a preencher ~/.ssh/config, insira o seguinte:
    Host *.replit.dev
        Port 22
        IdentityFile ~/.ssh/replit
        StrictHostKeyChecking accept-new
    
    A adição da configuração SSH só é solicitada na primeira vez que você tenta se conectar ao VS Code ou a outro editor. Para retornar ao arquivo de configuração, você precisará selecionar Configure SSH Hosts….
  2. Se solicitado por um aviso de aplicativo externo, selecione Yes para confirmar que deseja abrir seu projeto no editor preferido ou no VS Code.
  3. Você pode ser solicitado a instalar ou atualizar extensões SSH periodicamente. A Replit se esforçará para ser compatível com as versões mais recentes dessas IDEs, e você também pode receber atualizações de segurança importantes.

Conectar manualmente

Na parte inferior da aba “Connect” do painel SSH, você encontrará “Connect manually”. Copie esse comando, cole-o em um Terminal local (Mac ou Linux) ou Prompt de Comando local (Windows) para se conectar diretamente. Essa também é uma boa maneira de depurar problemas de conexão com IDEs, bem como para coletar informações “verbose” de conexão valiosas ao relatar bugs ao Suporte da Replit. Um erro indicando que estamos tentando nos conectar com uma chave privada inexistente:
$ ssh -i ~/.ssh/replit -p 22 c96b6ade-d5e4-4f7a-bc5b-52334509b2a3@c96b6ade-d5e4-4f7a-bc5b-52334509b2a3-00-16nh2hskw3ql8.riker.replit.dev
Warning: Identity file /Users/user/.ssh/replit not accessible: No such file or directory.
Logs de depuração completos de uma tentativa de conexão SSH, para incluir em um relatório de bug:
$ ssh -vvv -i ~/.ssh/replit -p 22 c96b6ade-d5e4-4f7a-bc5b-52334509b2a3@c96b6ade-d5e4-4f7a-bc5b-52334509b2a3-00-16nh2hskw3ql8.riker.replit.dev
OpenSSH_9.6p1, LibreSSL 3.3.6
debug1: Reading configuration data /Users/.../.ssh/config
debug1: /Users/.../.ssh/config line 1: Applying options for *
debug1: /Users/.../.ssh/config line 4: Applying options for *.replit.dev
debug3: channel_clear_timeouts: clearing
debug1: Connecting to c96b6ade-d5e4-4f7a-bc5b-52334509b2a3-00-16nh2hskw3ql8.riker.replit.dev port 22.
debug1: Connection established.
debug1: identity file /Users/dstewart/.ssh/replit type 3
debug1: Local version string SSH-2.0-OpenSSH_9.6
debug1: Remote protocol version 2.0, remote software version Replit-SSH-Proxy
debug1: compat_banner: no match: Replit-SSH-Proxy
debug3: fd 5 is O_NONBLOCK
...
Welcome to the Replit SSH Proxy.

Visit https:/.replit.com/replit-workspace/ssh to learn more about SSH on Replit.
debug3: receive packet: type 51
debug1: Authentications that can continue: password,publickey
debug3: start over, passed a different list password,publickey
debug3: preferred publickey,keyboard-interactive,password
debug3: authmethod_lookup publickey
debug3: remaining preferred: keyboard-interactive,password
debug3: authmethod_is_enabled publickey
debug1: Next authentication method: publickey
...
debug2: we did not send a packet, disable method
debug3: authmethod_lookup password
debug3: remaining preferred: ,password
debug3: authmethod_is_enabled password
debug1: Next authentication method: password

Conectar via uma ferramenta não listada aqui

Há muitos clientes SSH disponíveis para diferentes plataformas e sistemas operacionais, muitos oferecendo diferentes recursos ou integrações. Você sempre pode decompor o comando exibido em “Connect Manually” em seus componentes para determinar como configurar cada cliente:
ssh -i ~/.ssh/replit -p 22  c96b6ade-d5e4-4f7a-bc5b-52334509b2a3@c96b6ade-d5e4-4f7a-bc5b-52334509b2a3-00-16nh2hskw3ql8.riker.replit.dev
       ^-----v-----^    ^^  ^-----------------v----------------^ ^------------------------------v-------------------------------------^
        Private Key   Port                   User               @                           Hostname
Hostname: <seu_hostname>.<cluster>.replit.dev Port: <número_da_porta> User: Nome de usuário Private Key: Caminho para o arquivo de chave privada no seu computador. Geralmente próximo a replit.pub.