Definição
SSH, ou Secure Shell, é um protocolo de comunicação remota com proteção criptográfica. Ele permite que um cliente se conecte a um servidor para executar ações autorizadas, como abrir uma sessão de terminal ou encaminhar uma conexão.
O programa ssh é um cliente desse protocolo e depende de um serviço remoto que aceite o método de autenticação apresentado. A porta TCP 22 é convencional, mas o servidor pode atender em outra porta.
Reconhecer o servidor e autenticar o usuário
Antes de confiar no destino, o cliente verifica a chave do host conforme sua configuração. Em um primeiro acesso, você precisa confirmar a identificação apresentada por um canal confiável, especialmente antes de aceitar uma chave ainda desconhecida.
A autenticação do usuário é outra etapa. No uso de chaves, a chave pública autorizada fica associada ao acesso remoto, enquanto a chave privada permanece protegida no lado que comprova esse acesso.
O que a sessão permite executar
Após a autenticação, as permissões do usuário e a configuração do servidor delimitam as ações disponíveis. O acesso pode permitir abrir um shell, executar apenas um comando autorizado ou usar um subsistema específico, sem conceder administração completa da máquina.
A criptografia protege o tráfego do canal, mas não transforma um comando incorreto em uma ação adequada. Antes de alterar arquivos ou reiniciar serviços, confira a máquina e o usuário usados, sobretudo quando vários ambientes possuem nomes semelhantes.
Encerramento e processos remotos
Fechar a conexão não comprova que todos os programas iniciados terminaram. Serviços, sessões persistentes de terminal e processos desacoplados podem continuar executando, conforme a forma usada para iniciá-los.
Ao acompanhar uma tarefa longa, registre como ela foi iniciada e como consultar seu estado. Essa informação evita tratar a perda da conexão como confirmação de sucesso ou de interrupção da tarefa.
Para revisar o acesso remoto e a administração do seu servidor com orientação, você pode usar o Desenvolvimento Colaborativo da Dev Side Studio.
Dúvidas frequentes
Perguntas frequentes sobre SSH
- SSH serve somente para abrir um terminal?
- Não. Também pode executar um comando remoto e transportar encaminhamentos ou subsistemas, conforme a configuração e as permissões do servidor.
- A chave do servidor é a mesma usada para autenticar o usuário?
- Não. A chave do host identifica o servidor remoto. Na autenticação por chave, o usuário prova que possui a chave privada correspondente à chave pública autorizada pelo servidor.
- Posso ignorar o aviso de chave do host alterada?
- Confirme a alteração por um canal confiável antes de aceitá-la. O aviso pode refletir uma reinstalação legítima ou uma conexão com um destino diferente do esperado.
- Fechar o SSH encerra todos os programas remotos?
- Não. Alguns processos podem terminar com a sessão, mas serviços e programas desacoplados dela podem continuar executando. Confira o processo conforme a forma usada para iniciá-lo.
Para continuar
Recursos relacionados
Documentação
OpenSSH: manual do cliente ssh
Documenta conexão remota, autenticação e encaminhamentos.
Abrir recursoDocumentação
RFC 4251: arquitetura do SSH
Descreve as camadas de transporte, autenticação e conexão do protocolo.
Abrir recursoAplicação na formação
Formação DevOps
O SSH é usado na administração remota de máquinas e serviços em ambientes DevOps.
Conhecer a formação
Fontes consultadas
Referências deste verbete
Este verbete ajudou você?
Obrigado pela resposta. Ela fica salva apenas neste navegador.