Conectando a uma SSH
As maneiras de se conectar a um servidor SSH são diversas e podem variar significativamente, dependendo do grau de segurança requerido e das especificidades da configuração do sistema-alvo. Essa flexibilidade é um dos pontos fortes do protocolo SSH, permitindo que ele seja adaptado a diferentes cenários de uso e requisitos de segurança. A seguir, vamos explorar algumas maneiras de se conectar, bem como entender o mecanismo por trás do processo.
Acesso através de usuário e senha:
O acesso a um servidor via SSH usando usuário e senha é um dos métodos mais diretos e comuns de autenticação. Quando você tenta se conectar a um servidor SSH, o servidor solicita um nome de usuário e uma senha. Essas credenciais são então verificadas contra os registros do servidor. Se as informações forem corretas, o acesso é concedido. É importante notar que, durante esse processo, a senha é transmitida de forma criptografada para proteger contra interceptações.
Acesso passando a chave privada diretamente no comando da SSH
Quando optamos por passar a chave privada diretamente no comando SSH, está especificando explicitamente qual chave privada deve ser usada para autenticar na sessão SSH. Essa abordagem é útil quando você não quer utilizar o ssh-agent ou quando tem várias chaves e precisa garantir que está utilizando a chave correta para cada conexão específica.
Para passar a chave privada diretamente no comando SSH, você utiliza a opção
-i
seguida pelo caminho completo até o arquivo da chave privada.A flag
-p
é usada para especificar a porta TCP na qual o servidor SSH está ouvindo. Por padrão, o SSH usa a porta 22, mas por razões de segurança ou devido a configurações específicas de rede, o servidor pode ser configurado para ouvir em uma porta diferente. Você pode usar a flag-p
para indicar ao cliente SSH que use essa porta alternativa ao estabelecer a conexão sendo esta opcional caso a porta padrão seja usada.A flag
-A
ativa o encaminhamento do agente SSH. O encaminhamento do agente é um recurso que permite ao cliente SSH encaminhar as credenciais do agente SSH (normalmente um agente rodando na máquina do usuário) através da conexão SSH para o servidor remoto. Isso é útil quando você precisa usar sua chave privada para fazer SSH para outras máquinas a partir do servidor remoto sem realmente transferir suas chaves privadas para o servidor.Esta também é opcional caso não se pretenda usar o encaminho do ssh agent.O arquivo da chave privada deve ter permissões restritas, geralmente recomendadas como
600
, o que significa que apenas o usuário proprietário pode ler e escrever o arquivo, e ninguém mais pode acessá-lo. Isto é configurado com o comando:
Este método de acesso informando a chave privada diretamente no comando ssh funciona somente se o acesso via password estiver habilitado. Caso contrário utilize o método descrito a seguir.
Acesso utilizando o SSH Agent
O SSH Agent é uma ferramenta auxiliar que facilita a gestão de chaves privadas para o protocolo SSH. Quando você usa o SSH Agent, ele gerencia suas chaves privadas e fornece autenticação sem necessidade de inserir a senha de sua chave privada a cada conexão SSH ou SCP. Esse processo é especialmente útil quando você trabalha com múltiplas chaves privadas ou quando está realizando múltiplas conexões SSH que requerem autenticação. O acesso via SSH Agent ocorre em 3 etapas:
O SSH Agent é iniciado no início de uma sessão do usuário ou pode ser iniciado manualmente com um comando como:
Após o agente estar rodando, você adiciona suas chaves privadas ao agente com o comando
ssh-add
. Por padrão é recomendada que as chaves sejam armazenadas no diretório ssh na máquina cliente.
Por fim podemos solicitar a conexão ao servidor através do comando ssh. Novamente as flags -p -A são opcionais.
Mais sobre métodos de acesso SSH:
SSH Agent e Autenticação por chaves
Last updated