Como usar o ssh-copy-id para simplificar o acesso por chave
Oi, tudo bem? Aqui é a Sensei da GeHost! 🌸 Se você já configurou o acesso por chave SSH na sua hospedagem, sabe que copiar a chave pública "na mão" pro servidor pode ser um parto: abrir o arquivo, copiar o conteúdo, colar certinho, ajustar permissões... Hoje eu vou te mostrar um atalho que resolve tudo isso em um único comando: o ssh-copy-id. Bora simplificar sua vida?
O que é o ssh-copy-id?
É uma ferramenta de linha de comando (já vem instalada por padrão em praticamente todo Linux e macOS) que faz o trabalho pesado de copiar sua chave pública para o servidor e organizá-la no lugar certo — sem você precisar editar arquivo nenhum manualmente.
💡 Dica da Sensei: o acesso SSH depende do que está disponível no seu plano de hospedagem. Se você não tem certeza se o seu tem SSH liberado, dá uma olhadinha no painel.gehost.com.br ou fale com o nosso suporte antes de seguir com este guia.
Pré-requisitos
- Você já precisa ter um par de chaves SSH gerado na sua máquina (geralmente em
~/.ssh/id_rsa.pubou~/.ssh/id_ed25519.pub). Se ainda não tem, gere comssh-keygenantes de continuar. - Ter o acesso SSH liberado para o seu usuário na hospedagem (usuário e, ao menos por enquanto, a senha atual funcionando — ela será usada só nesta primeira cópia da chave).
- Saber o endereço do seu servidor (o domínio ou subdomínio que você usa para conectar via SSH) e a porta, se for diferente da padrão.
Passo a passo: usando o ssh-copy-id
-
Abra o terminal na sua máquina (o computador de onde você vai acessar a hospedagem, não o servidor).
-
Rode o comando abaixo, substituindo usuario pelo seu usuário da hospedagem e seudominio.com.br pelo endereço usado para conectar via SSH:
ssh-copy-id usuario@seudominio.com.br -
Se a sua conexão usa uma porta diferente da padrão (22), inclua a opção
-p:ssh-copy-id -p PORTA usuario@seudominio.com.br -
O comando vai pedir a senha atual do seu usuário SSH. Digite normalmente (na hora de digitar, o terminal não mostra nada na tela — é assim mesmo, por segurança).
-
Pronto! O ssh-copy-id vai:
- Criar a pasta
.sshno servidor, se ela ainda não existir; - Adicionar sua chave pública no arquivo
authorized_keys; - Ajustar as permissões corretas dos arquivos automaticamente (isso evita boa parte dos erros de "chave não funciona").
- Criar a pasta
Testando o acesso
Agora é só testar! Tente conectar novamente:
ssh usuario@seudominio.com.br
Se tudo deu certo, você vai entrar sem precisar digitar a senha — a autenticação vai acontecer automaticamente pela sua chave.
⚠️ Dica da Sensei: mantenha a autenticação por senha ativa até confirmar que o login por chave está funcionando 100%. Só depois de testar com calma é que vale considerar desativar a senha no servidor (isso normalmente é feito editando a configuração do SSH, algo mais avançado — se tiver dúvida, chama o suporte).
E se o ssh-copy-id não estiver disponível?
Alguns sistemas (principalmente Windows sem WSL) não têm o ssh-copy-id por padrão. Nesse caso, dá pra fazer o mesmo processo manualmente com este comando:
cat ~/.ssh/id_rsa.pub | ssh usuario@seudominio.com.br "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
Esse comando envia sua chave pública direto para o arquivo authorized_keys do servidor, criando a pasta .ssh caso ela ainda não exista.
Erros comuns
- "command not found: ssh-copy-id" — use o método manual acima, ou instale a ferramenta pelo gerenciador de pacotes do seu sistema.
- Ainda pede senha depois de rodar o comando — confira se você não gerou uma chave nova sem perceber, ou se está apontando para o servidor/usuário certo.
- "Permission denied" — normalmente é permissão incorreta na pasta
.sshou no arquivoauthorized_keys. O ssh-copy-id já ajusta isso sozinho, então rodar o comando novamente costuma resolver.
E é isso! Com o ssh-copy-id, configurar o acesso por chave fica rápido, seguro e sem dor de cabeça. Se travar em qualquer passo, nosso suporte está por aqui para te ajudar. Até a próxima! 🌸