Fundamentos do Shell Seguro (SSH)
Aprenda a se conectar com segurança a máquinas Linux remotas, incluindo autenticação baseada em chaves e configuração básica do cliente SSH.
Fundamentos do Shell Seguro (SSH) é uma aula grátis de DevOps Bootcamp no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de DevOps Bootcamp, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de DevOps Bootcamp inclui 4 aulas no total.
O que é o Secure Shell (SSH)?
Bem-vindo aos fundamentos do Secure Shell (SSH)! SSH é um poderoso protocolo de rede que permite conectar-se com segurança a um computador remoto por meio de uma rede não segura.
Pense nele como um túnel seguro para seus comandos e dados. Ele é essencial para administrar servidores Linux, instâncias na nuvem e até acessar remotamente o seu próprio ambiente de desenvolvimento.
Por que usar SSH? Segurança em primeiro lugar!
Antes do SSH, as conexões remotas geralmente não eram criptografadas, o que significava que qualquer pessoa poderia espionar suas senhas e seus dados. O SSH resolve esse problema com uma criptografia forte.
- Confidencialidade: seus dados são criptografados e ficam ocultos de olhares indiscretos.
- Integridade: garante que os dados não sejam alterados durante a transmissão.
- Autenticação: verifica a identidade do cliente e do servidor.
Ele é o padrão do setor para administração remota.
SSH: modelo cliente-servidor
O SSH funciona em um modelo cliente-servidor. Você, como usuário, executa um cliente SSH na sua máquina local. Esse cliente se conecta a um servidor SSH (frequentemente chamado de `sshd`) em execução na máquina remota.
Quando você inicia uma conexão, o cliente e o servidor realizam um 'handshake' para estabelecer um canal seguro e criptografado antes que qualquer dado seja trocado.
Comando básico de conexão SSH
A forma mais básica de se conectar a um servidor remoto via SSH é usar o comando ssh seguido do nome de usuário e do host (endereço IP ou nome do host).
O formato é ssh username@hostname_or_IP. Por exemplo, para conectar-se a um servidor em 192.168.1.100 como o usuário coddy:
ssh coddy@192.168.1.100Primeira conexão e impressões digitais
Na primeira vez que você se conecta a um servidor novo, o SSH solicitará que você verifique a 'impressão digital' do servidor. Esse é um identificador exclusivo que ajuda a impedir ataques de 'intermediário'.
Verifique sempre a impressão digital, se possível (por exemplo, perguntando ao administrador do servidor). Se ela corresponder, digite yes para adicionar o servidor ao seu arquivo ~/.ssh/known_hosts.
Porta SSH e portas personalizadas
Por padrão, o SSH usa a porta TCP 22. No entanto, por motivos de segurança, os administradores de servidores frequentemente configuram o SSH para ficar em escuta em uma porta diferente e não padrão.
Se o servidor remoto usar uma porta personalizada (por exemplo, a porta 2222), você poderá especificá-la usando a opção -p:
ssh -p 2222 coddy@myremoteserver.comApresentando a autenticação baseada em chaves
Embora a autenticação por senha funcione, a autenticação SSH baseada em chaves é muito mais segura e conveniente. Ela usa um par de chaves criptográficas:
- Chave pública: armazenada no servidor remoto.
- Chave privada: armazenada com segurança na sua máquina local.
Quando você se conecta, o servidor desafia o cliente, que usa a chave privada para comprovar sua identidade sem jamais enviar a chave privada pela rede.
Gerando pares de chaves SSH
Você pode gerar um par de chaves SSH usando o comando ssh-keygen. Ele solicitará um local para salvar as chaves (o padrão é ~/.ssh/id_rsa) e uma frase secreta opcional.
Uma frase secreta adiciona uma camada extra de segurança à sua chave privada. Isso é altamente recomendado!
ssh-keygen -t rsa -b 4096Copiando sua chave pública
Depois de criar um par de chaves, você precisará copiar sua chave pública para o servidor remoto. A maneira mais fácil é usar ssh-copy-id. Esse comando entra no servidor remoto (usando inicialmente sua senha) e adiciona sua chave pública ao arquivo ~/.ssh/authorized_keys.
Depois disso, você poderá conectar-se usando sua chave em vez de uma senha!
ssh-copy-id coddy@myremoteserver.comVerificação rápida: fundamentos do SSH
Quais das afirmações a seguir sobre SSH são verdadeiras?
Recapitulação: fundamentos do SSH
Nesta lição, você aprendeu os fundamentos do Secure Shell (SSH)!
- O SSH oferece acesso remoto seguro e criptografado.
- Ele funciona em um modelo cliente-servidor, normalmente usando a porta 22.
- Você pode conectar-se com
ssh user@host. - A autenticação baseada em chaves, usando pares de chaves públicas e privadas (gerados com
ssh-keygene copiados comssh-copy-id), oferece segurança superior à das senhas.
A seguir, exploraremos comandos de rede e ferramentas de transferência de arquivos ainda mais poderosos!
Perguntas Frequentes
A aula “Fundamentos do Shell Seguro (SSH)” é grátis?
Sim — o texto completo de “Fundamentos do Shell Seguro (SSH)” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de DevOps Bootcamp, atualize para CoddyKit PRO. O curso de DevOps Bootcamp inclui 4 aulas no total.
O que vou aprender em “Fundamentos do Shell Seguro (SSH)”?
Aprenda a se conectar com segurança a máquinas Linux remotas, incluindo autenticação baseada em chaves e configuração básica do cliente SSH. Você pratica DevOps Bootcamp com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar DevOps Bootcamp?
Nenhuma experiência prévia é necessária. DevOps Bootcamp no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.
Quanto tempo leva a aula “Fundamentos do Shell Seguro (SSH)”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de DevOps Bootcamp?
Sim. Cada aula de DevOps Bootcamp inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Utilitários Básicos de Rede (ping, ip, netstat)
- Fundamentos do Shell Seguro (SSH)
- SCP e Rsync para Transferência de Arquivos
- Autenticação SSH por Chaves e o Ficheiro de Configuração