Central de Ajuda

Atendimento em horário comercial via chat

Configurando e acessando o SSH

A conexão via SSH no momento está disponível somente para CloudSites PHP e Container.

O que é SSH?

SSH (Secure Shell) é um protocolo de comunicação seguro, que criptografa todo o trafego entre o cliente e servidor. Ele é utilizado para transferir arquivos entre seu computador e o servidor remoto ou envio de comandos.

Configurando

Para habilitar o SSH na Umbler, acesse seu Painel de Controle da Umbler > Clique sobre a opção Site > Configurações > SSH e selecione uma das formas de autenticação.

ssh1.png

Esta é a forma mais simples de acesso ao o SSH.

Informe o usuário que deseja no acesso via SSH, o Título (escolha um nome para a chave) e a chave publica de seu computador.

Veja neste guia como gerar a chave pública de seu computador.

ssh2.png

Pronto! seu acesso SSH está configurado com seu login e a chave privada criada em seu painel.

ssh3.png

Esta é a forma mais segura de conexão SSH, para conectar a seu usuário será solicitada sua senha e um token gerado via celular/tablet.

Informe o usuário desejado para seu acesso, uma senha e clique em Avançar.

token1.png

Baixe o aplicativo de autenticação para seu celular/tablet, abra o mesmo e clique em Opções, Configurar conta e Ler um código de barras. Será gerado em sua conta um código vinculado a seu login, digite o mesmo em seu painel e clique em Salvar.

token2.png

Pronto! seu acesso SSH está configurado com seu login, senha e o código gerado no aplicativo.

token3.png

Recomendamos que para emular o SSH em seu computador Windows, utilize o Git-SCM, clique neste link para fazer o download do mesmo. Instale o aplicativo em seu computador com as opções padrões.

Utilize os dados da string de conexão informada no Painel de Controle da Umbler para realizar a conexão:

Pressione Enter, informe seu Login, o Código de verificação gerado pelo aplicativo de celular e sua senha.

Pronto! você já pode executar os comandos desejados.

Utilize os dados da string de conexão informada no Painel de Controle da Umbler para realizar a conexão:

Será exibido um aviso de segurança, digite "Yes" e pressione Enter.

Informe seu código de verificação e senha.

Pronto! agora você pode executar os comandos que desejar.

O acesso no Linux é realizado via terminal, com o comando ssh -p PORTA user@servidor

Utilize os dados da string de conexão informada no Painel de Controle da Umbler para realizar a conexão:

Será exibido um aviso de segurança, digite "Yes" e pressione Enter.

Informe seu código de verificação e senha.

 

Pronto! agora você pode executar os comandos que desejar.

Recomendamos que para emular o SSH em seu computador Windows, utilize o Git-SCM, clique neste link para fazer o download do mesmo. Instale o aplicativo em seu computador com as opções padrões.

Utilize os dados da string de conexão informada no Painel de Controle da Umbler para realizar a conexão:

Pressione Enter, e a conexão deve ser efetuada.

Pronto! você já pode executar os comandos desejados.

O acesso no Mac é realizado via terminal.

Acesse seu servidor com o comando ssh usuario@servidor.com -p 9922

Utilize os dados da string de conexão informada no Painel de Controle da Umbler para realizar a conexão:

Acesse o SSH com o comando ssh usuario@servidor.com -p 9922

Utilize os dados da string de conexão informada no Painel de Controle da Umbler para realizar a conexão:

Comando Descrição Exemplo
vim Editor de texto vim arquivo.txt
mkdir Criar pastas mkdir teste
cd Mudar a pasta em que se esta trabalhando cd /public/teste
ls Listar arquivos e diretórios ls
ll Listar arquivos e diretórios de forma detalhada ll
rm Remover arquivos e pastas rm arquivo.txt
cp Copiar arquivos e pastas cp test.jpg test-02.jpg
mv Mover ou renomear arquivos mv teste.txt teste2.txt
git Controle de versão git init
echo Apresentar um texto na tela echo Ola mundo
gzip Compactar e descompactar arquivos gzip arquivo.txt
tar Compactar e descompactar arquivos tar -cf test.tar teste.txt
zip Compactar arquivos e pastas zip zipado1.zip arquivo1
unzip Descompactar arquivos e pastas unzip arquivo.zip
Caso localize o erro "Unable to negotiate with host: no matching host key type found. Their offer: ssh-dss", será preciso adicionar no arquivo, (ou criá-lo caso não exista) config de seu SSH/Git a seguinte informação:

Host seusite-com-br.umbler.net
HostkeyAlgorithms +ssh-dss

Este arquivo precisa ser alocado na pasta raiz de seu SSH em ~/.ssh/config OU C:\Users\seu-user\.ssh\config

Erro:

No caso de Container NodeJS, o erro é quase sempre o mesmo. A aplicação terminou com erro.
Por natureza de Containers, eles tem um processo principal. Que é executado junto com o container e é derrubado quando o container é derrubado, ou vice versa.
O vice-versa é que é a parte importante nesse caso, pois a aplicação principal de um Container Node é a própria aplicação Node que é hospedada no container. O que significa que se a aplicação terminar, (seja por erro ou forçado) o container será derrubado junto. E não é possível conectar por SSH em um container que não está online. Exemplo de logs de uma aplicação Node que terminou com erro:

Como resolver?

Basta fazer um novo deploy, corrigindo o erro que estava fazendo a aplicação crashar/terminar!

Tá mas, pra resolver isso, eu preciso conectar por SSH

Eu preciso corrigir o erro conectando por SSH. Mas não consigo conectar por SSH por causa do erro
Se você estiver preso nesse deadlock, há uma maneira de resolver. Porém exige uma certa quantia de gambiarra…
Basicamente, alteraria a aplicação para uma de testes, que não faz nada. Mas fica fazendo nada pra sempre, permitindo que o container permaneça online.

  1. Vá no gerenciador de arquivos
  2. Crie um arquivo .js. temporario.js, por exemplo
  3. Nesse arquivo, insira um código que não causará erros e manterá a aplicação rodando. Exemplo:
    require("http").createServer((req, res) => res.end("Oi :D")).listen(process.env.PORT || 3000, () => console.log("Aplicação temporária rodando."));
    Essa aplicação cria um servidor HTTP nativo (não precisa do express) que escuta na porta 3000. Mas não faz mais nada além disso.
  4. No package.json, altere temporariamente o script start para executar o código acima
    “start”: “node temporario.js”
  5. Reinicie o Container
  6. Tente novamente conectar por SSH
  7. Corrija os problemas necessários
  8. Altere o script start de volta para o comando antigo
  9. Reinicie o container novamente