Instalação e manutenção

SSH básico: acessar o servidor pela linha de comando

SSH é a porta pela qual você administra o servidor sem monitor: uma janela de texto no seu computador que, na verdade, está rodando lá dentro. Este guia mostra como abrir essa porta a partir de qualquer sistema, como trocar a senha por chaves (mais seguro e mais cômodo) e os poucos comandos que resolvem a maior parte do dia a dia.

Intermediário 13 min de leitura Atualizado em 20 de outubro de 2026
Para quem é
Quem já tem um servidor Linux instalado na rede e quer administrá-lo de outro computador, sem nunca ter usado terminal.
Pré-requisitos
Instalar o Ubuntu Server passo a passo (ou outro Linux com o servidor SSH ativo).
Você vai sair sabendo
Conectar do Windows, macOS ou Linux, entender a verificação de fingerprint, criar e instalar chaves, desativar o login por senha com segurança, copiar arquivos e usar os comandos básicos.

O que é SSH e por que ele é a ferramenta central

SSH (Secure Shell) é um protocolo que abre uma sessão de terminal em outro computador através da rede, com tudo criptografado. "Shell" é o programa que recebe comandos digitados e os executa; o SSH leva esse shell até você. Quando você digita ls em uma sessão SSH, o comando roda no servidor e só o texto da resposta viaja pela rede. É leve o bastante para funcionar em qualquer conexão e seguro o bastante para ser o padrão de administração de servidores no mundo inteiro.

Por que ele é a ferramenta central do servidor doméstico? Porque tudo o que vem depois passa por ele: instalar o Docker, criar compartilhamentos, ler logs, atualizar o sistema, investigar um disco que não monta. Mesmo sistemas com interface web, como o OpenMediaVault, têm um SSH por trás para os momentos em que a interface não alcança. Aprender meia dúzia de comandos aqui economiza horas em todos os guias seguintes.

O SSH tem dois lados: o servidor SSH (o programa sshd, que fica escutando na porta 22 do servidor) e o cliente SSH (o programa ssh, que você roda no seu computador). Se você marcou "Install OpenSSH server" na instalação do Ubuntu, o lado do servidor já está pronto. Falta o lado do cliente.

O cliente: o que usar em cada sistema

  • Windows 10 e 11 já trazem o cliente OpenSSH embutido. Abra o PowerShell (ou o Terminal do Windows) e o comando ssh está disponível. Não é preciso instalar nada. O PuTTY, programa gráfico clássico, continua funcionando e tem quem prefira sua janela de configurações salvas, mas ele usa um formato próprio de chaves que complica um pouco a vida; este guia usa o OpenSSH nativo.
  • macOS tem o cliente embutido. Abra o aplicativo Terminal (em Utilitários) e use ssh.
  • Linux tem o cliente em qualquer distribuição de desktop. Abra o terminal.
  • Celular: existem aplicativos de SSH para Android e iOS, úteis para uma emergência. Para o dia a dia, um teclado de verdade faz diferença.

A primeira conexão e o tal do fingerprint

Com o endereço IP do servidor anotado (ou reservado no roteador, como em IP fixo, DHCP e reserva de endereço), a conexão é um comando:

Terminal
ssh [email protected]

Troque maria pelo usuário criado na instalação e o endereço pelo do seu servidor. Se o servidor tem um nome que a rede resolve (veja DNS local e nomes de dispositivos), o nome funciona no lugar do IP. Na primeira vez, aparece uma mensagem parecida com esta:

Terminal
The authenticity of host '192.168.0.25' can't be established.
ED25519 key fingerprint is SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.
Are you sure you want to continue connecting (yes/no/[fingerprint])?

Isso não é um erro. Cada servidor SSH tem uma identidade própria (uma chave de host), e o fingerprint é o resumo dela. O seu cliente está dizendo: "nunca vi este servidor; é ele mesmo?". Dentro da sua própria rede, com o IP que você acabou de anotar, a resposta é yes. O cliente guarda o fingerprint em um arquivo chamado known_hosts e, a partir daí, avisa em voz alta se o servidor naquele endereço mudar de identidade, o que pode indicar que alguém está se passando por ele, ou simplesmente que você reinstalou o sistema (o caso mais comum em casa). Depois do yes, digite a senha do usuário; ela não aparece enquanto você digita. O prompt muda para algo como maria@servidor:~$: você está dentro do servidor.

Para encerrar a sessão, digite exit ou pressione Ctrl+D. Programas que estavam rodando na sessão são encerrados junto; serviços do sistema continuam.

Chaves em vez de senha

Senhas podem ser adivinhadas, reutilizadas e digitadas no lugar errado. O SSH oferece um método melhor: um par de chaves. A chave privada fica só no seu computador e nunca sai dele; a chave pública é copiada para o servidor. Quando você conecta, o servidor envia um desafio que só quem tem a chave privada consegue responder. Ninguém adivinha uma chave, e você para de digitar senha toda vez. A analogia útil é a de um cadeado (chave pública, que você distribui à vontade) e a única chave que o abre (privada, que fica no seu bolso).

Autenticação SSH por chaves O computador cliente guarda a chave privada; o servidor guarda a chave pública no arquivo authorized_keys. Na conexão pela porta 22, o servidor envia um desafio, o cliente o assina com a chave privada e o servidor confere com a pública. Todo o tráfego é criptografado. Seu computador (cliente) programa ssh chave privada ~/.ssh/id_ed25519 · nunca sai daqui Servidor programa sshd, porta 22 chave pública ~/.ssh/authorized_keys 1. "quero entrar como maria" 2. desafio aleatório 3. desafio assinado com a privada 4. servidor confere a assinatura com a pública: sessão aberta tudo criptografado; a chave privada e a senha nunca trafegam pela rede
Na autenticação por chave, o segredo (chave privada) nunca viaja pela rede. O servidor só precisa da chave pública para conferir a assinatura.
  1. Gerar o par de chaves no seu computadorFunciona igual no PowerShell, no Terminal do macOS e no Linux. Aceite o local padrão com Enter e, quando pedir uma passphrase, defina uma: ela protege a chave privada caso alguém copie o arquivo do seu computador.
    Terminal
    ssh-keygen -t ed25519 -C "notebook da maria"
    O tipo ed25519 é o recomendado atualmente: chaves curtas, rápidas e seguras. O texto após -C é só um comentário para identificar de que computador a chave veio. Dois arquivos são criados na pasta .ssh do seu usuário: id_ed25519 (privada) e id_ed25519.pub (pública).
  2. Copiar a chave pública para o servidor (macOS e Linux)O utilitário ssh-copy-id faz tudo: conecta com senha uma última vez e acrescenta a chave pública ao arquivo certo no servidor.
    Terminal
    ssh-copy-id [email protected]
  3. Copiar a chave pública para o servidor (Windows)O Windows não traz o ssh-copy-id, mas um comando no PowerShell faz o mesmo: lê o conteúdo da chave pública e o acrescenta, pelo SSH, ao arquivo authorized_keys do servidor.
    PowerShell
    type $env:USERPROFILE\.ssh\id_ed25519.pub | ssh [email protected] "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"
    Ele pede a senha uma vez. Os chmod garantem as permissões que o SSH exige: se a pasta .ssh ou o arquivo puderem ser lidos por outros usuários, o servidor ignora a chave por segurança.
  4. TestarRode ssh [email protected] de novo. Se pedir apenas a passphrase da chave (ou nada, caso não tenha definido uma), funcionou. Se ainda pedir a senha do usuário, veja a seção de erros comuns antes de seguir.
Um apelido para o servidor

No seu computador, crie (ou edite) o arquivo ~/.ssh/config (no Windows, C:\Users\seu-nome\.ssh\config) com o conteúdo abaixo. A partir daí, ssh nas basta.

Arquivo ~/.ssh/config
Host nas
    HostName 192.168.0.25
    User maria
    IdentityFile ~/.ssh/id_ed25519

Desativar o login por senha (com rede de segurança)

Com a chave funcionando, o login por senha vira um ponto fraco desnecessário. Desativá-lo é uma edição no arquivo de configuração do servidor SSH, seguida de um reinício do serviço. A ordem importa: mantenha a sessão atual aberta enquanto testa em uma segunda janela. Se algo der errado, a sessão aberta é o seu caminho de volta para desfazer.

Terminal (no servidor)
sudo nano /etc/ssh/sshd_config

O nano é um editor de texto simples para terminal: setas para navegar, Ctrl+O para salvar, Ctrl+X para sair. Procure a linha com PasswordAuthentication (pode estar comentada com #) e deixe-a assim:

Arquivo /etc/ssh/sshd_config
PasswordAuthentication no

No Ubuntu Server, há um detalhe: a pasta /etc/ssh/sshd_config.d/ pode conter um arquivo criado na instalação (como 50-cloud-init.conf) com PasswordAuthentication yes, e o que está nessa pasta vence o arquivo principal. Confira com grep -r PasswordAuthentication /etc/ssh/sshd_config.d/ e, se houver, edite também. Depois, valide a sintaxe e reinicie o serviço:

Terminal (no servidor)
sudo sshd -t                   # sem saída = configuração válida
sudo systemctl restart ssh

Agora, em uma nova janela do seu computador, conecte de novo. Entrou pela chave? Ótimo: pode fechar a sessão antiga. Não entrou? Volte à sessão antiga, troque para yes, reinicie o serviço e investigue com calma. Só feche a sessão antiga quando a nova funcionar.

Não exponha o SSH à internet

Tudo neste guia acontece dentro da rede de casa. Encaminhar a porta 22 no roteador para "acessar de fora" coloca seu servidor na mira de varreduras automáticas que testam senhas o dia inteiro; mesmo com chaves, é um alvo desnecessário. Para chegar ao servidor de fora de casa, o caminho correto é uma VPN, explicada em Acesso remoto seguro: VPN, WireGuard, Tailscale e por que não abrir portas. Com a VPN, o SSH continua sendo usado exatamente como aqui, com o mesmo endereço interno.

Os comandos do dia a dia

Você não precisa decorar o Linux. Um punhado de comandos cobre quase tudo que um servidor doméstico pede, e os guias seguintes apresentam os demais quando necessário. O terminal tem um truque que vale aprender no primeiro dia: a tecla Tab completa nomes de arquivos e comandos, e as setas para cima e para baixo percorrem o histórico.

Comandos essenciais no servidor Linux
ComandoO que fazExemplo
lsLista arquivos e pastas; -la mostra tudo, com permissões e tamanhosls -la /mnt
cdEntra em uma pasta; sozinho volta à sua pasta pessoalcd /etc/ssh
pwdMostra em que pasta você estápwd
sudoExecuta o comando seguinte como administradorsudo nano /etc/fstab
aptInstala, atualiza e remove programassudo apt update && sudo apt upgrade
systemctl statusMostra se um serviço está rodando e suas últimas mensagenssystemctl status ssh
df -hEspaço usado e livre em cada disco, em unidades legíveisdf -h
free -hMemória usada e livrefree -h
htopPainel ao vivo de processos, CPU e memória (instale com sudo apt install htop; q sai)htop
journalctlLê os registros (logs) do sistema; -p err -b mostra só erros desde o último bootjournalctl -p err -b
ip -brief addressMostra as interfaces de rede e seus endereçosip -brief address
sudo reboot / sudo poweroffReinicia ou desliga o servidor com segurançasudo reboot

Três hábitos evitam a maioria dos sustos: ler a mensagem de erro inteira antes de repetir o comando; nunca rodar com sudo um comando que você não entende, principalmente se veio de um fórum; e, antes de editar um arquivo de configuração, fazer uma cópia (sudo cp arquivo arquivo.bak). Para interromper um comando que travou, use Ctrl+C.

Copiar arquivos com scp e sftp

Para mover arquivos em volume, o caminho certo é um compartilhamento de rede, tratado em Compartilhar arquivos na rede de casa com SMB e Samba. Mas para copiar um arquivo de configuração, um script ou um backup pontual, o próprio SSH resolve, sem instalar nada, com dois utilitários que vêm junto com ele:

Terminal
scp compose.yaml [email protected]:~/servicos/      # do seu PC para o servidor
scp [email protected]:~/backup.tar.gz .            # do servidor para a pasta atual
scp -r fotos/ [email protected]:/mnt/dados/fotos/   # pasta inteira (-r)

O scp segue a lógica "origem, destino", e o lado remoto é escrito como usuario@servidor:caminho. Já o sftp abre uma sessão interativa, parecida com um FTP, em que você navega com ls e cd e transfere com get e put. Programas gráficos como o WinSCP (Windows) e o FileZilla (todos os sistemas) usam o SFTP por baixo e mostram as duas máquinas lado a lado, o que é confortável para quem prefere arrastar e soltar. Em todos os casos, a mesma chave que abre o SSH abre a cópia de arquivos.

Erros comuns

"Connection refused" ou "Connection timed out"

Refused significa que o servidor respondeu, mas nada escuta na porta 22: o OpenSSH não está instalado ou o serviço parou (sudo apt install openssh-server e sudo systemctl status ssh no servidor). Timed out significa que nada respondeu: endereço errado, servidor desligado ou problema de rede. Teste com ping 192.168.0.25 e, se não responder, siga o roteiro de Solução de problemas comuns.

"REMOTE HOST IDENTIFICATION HAS CHANGED!"

O fingerprint guardado no known_hosts não bate com o que o servidor apresentou. Se você reinstalou o sistema ou trocou de máquina no mesmo IP, é esperado: remova a entrada antiga com ssh-keygen -R 192.168.0.25 e conecte de novo. Se você não mudou nada, leve o aviso a sério e investigue antes de aceitar.

Copiei a chave, mas o servidor continua pedindo senha

Quase sempre é permissão: no servidor, a pasta ~/.ssh precisa estar com 700 e o authorized_keys com 600, e ambos devem pertencer ao seu usuário. Rode chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys. Outra causa é a chave ter sido colada em uma linha quebrada; cada chave ocupa exatamente uma linha do arquivo. Use ssh -v [email protected] para ver, em detalhes, o que o cliente tentou.

"Permission denied (publickey)" depois de desativar a senha

Você está conectando de um computador que não tem a chave privada (outro PC, outro usuário do Windows) ou a chave está em outro caminho. Se ainda tiver uma sessão aberta, reative PasswordAuthentication yes temporariamente. Se não tiver, é preciso ir até o servidor com monitor e teclado para fazer o ajuste. É por isso que o guia insiste em testar em uma segunda janela antes de fechar a primeira.

A sessão cai sozinha depois de um tempo parada

Alguns roteadores encerram conexões inativas. No arquivo ~/.ssh/config do seu computador, acrescente ServerAliveInterval 60 dentro do bloco do servidor: o cliente passa a enviar um sinal a cada minuto para manter a conexão viva.

Glossário deste guia

Shell
O programa que recebe comandos digitados e os executa. O SSH leva o shell do servidor até a sua tela.
Cliente e servidor SSH
O cliente (ssh) roda no seu computador; o servidor (sshd) roda na máquina administrada, escutando na porta 22.
Fingerprint
Resumo da identidade de um servidor SSH. Serve para você reconhecer que está falando com a máquina certa.
Par de chaves
Chave privada (fica com você) e chave pública (vai para o servidor). Substituem a senha com mais segurança.
Passphrase
Senha que protege o arquivo da chave privada no seu computador. Diferente da senha do usuário no servidor.
authorized_keys
Arquivo no servidor, dentro de ~/.ssh, que lista as chaves públicas autorizadas a entrar com aquele usuário.
scp / sftp
Utilitários que copiam arquivos através da conexão SSH, usando a mesma autenticação.

Checklist: acesso seguro?

0 de 6

Marque o que já fez. O progresso fica salvo apenas neste navegador.

Próximos passos

Com o terminal do servidor ao alcance, você pode colocar serviços para rodar, manter o sistema saudável e, quando precisar, chegar nele de fora de casa pelo caminho seguro. Leia nesta ordem:

Prefere um caminho montado para o seu caso? Use o navegador de guias por objetivo.

Fontes e leituras complementares

  • Canonical, Ubuntu Server documentation: seção sobre OpenSSH, com instalação, configuração do sshd e uso de chaves.
  • Microsoft, OpenSSH no Windows: documentação do cliente OpenSSH embutido no Windows 10 e 11.
  • Arch Linux, OpenSSH: referência detalhada de configuração do cliente e do servidor, incluindo permissões de arquivos.

Sobre este conteúdo. Guia escrito e revisado pela equipe editorial do ServersDesktop com base em documentação oficial dos projetos citados e na experiência de uso doméstico. Não há patrocínio, links de afiliado nem indicação de produto específico. Encontrou um erro? Avise pelo contato; correções são registradas na data de atualização.

Leia também a política editorial.