SSH
Conceitos
- Utilizado para acesso remoto, tal qual o TELNET, mas de forma segura.
- Autenticação e chaves assimétricas na conexão.
- Atua na porta 22 - TCP.
- Atualmente na versão SSH2.
- Modelo de túnel seguro utilizado por outros serviços como Sftp.
Primeira etapa: Utiliza o par de chaves público/privada.
Segunda etapa: Ocorre a troca da chave de sessão(simétrica).
- Cada sessão é uma chave de sessão diferente.
- Os comandos circulam por essa sessão.
Geração de chave RSA
Para gerar um par de chaves (privada e pública):
ssh-keygen -t rsa -b 4096 -C "marcio@yahoo.com"
Para copiar a chave pública para um servidor:
ssh-copy-id marcio@servidor
Ou manualmente:
cat ~/.ssh/id_rsa.pub | ssh usuario@servidor "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
Principais opções:
-t → Tipo da chave (ex.: rsa, ed25519).
-b → Tamanho da chave (ex.: 2048, 4096 bits).
-C → Comentário identificador.
-f → Define o nome/ caminho do arquivo gerado.
A chave pública (id_rsa.pub) pode ser adicionada ao servidor no arquivo ~/.ssh/authorized_keys para login sem senha.
Quando a autenticação ocorre sem senha, significa que a chave pública do cliente foi previamente adicionada ao arquivo ~/.ssh/authorized_keys no servidor. Assim, ao tentar se conectar, o cliente prova sua identidade usando a chave privada, e o servidor a valida com a chave pública armazenada, permitindo o acesso sem necessidade de senha.
O arquivo ~/.ssh/known_hosts armazena as chaves públicas dos servidores aos quais o usuário já se conectou via SSH.
Ele é usado para verificar a autenticidade do servidor em conexões futuras, prevenindo ataques de Man-in-the-Middle (MITM).
Se a chave de um servidor mudar, o SSH alerta o usuário antes de permitir a conexão.
login
ssh kaleb@ip_da_maquina
Ferramentas: PuTTy