Capítulo 1. Usando comunicações seguras entre dois sistemas com OpenSSH
SSH (Secure Shell) é um protocolo que fornece comunicações seguras entre dois sistemas usando uma arquitetura cliente-servidor e permite que os usuários façam login em sistemas host de servidores remotamente. Ao contrário de outros protocolos de comunicação remota, como FTP ou Telnet, o SSH criptografa a sessão de login, o que impede que intrusos coletem senhas não criptografadas da conexão.
O Red Hat Enterprise Linux inclui os pacotes básicos OpenSSH
: o pacote geral openssh
, o pacote openssh-server
e o pacote openssh-clients
. Note que os pacotes OpenSSH
requerem o pacote OpenSSL
openssl-libs
, que instala várias bibliotecas criptográficas importantes que permitem que OpenSSH
forneça comunicações criptografadas.
1.1. SSH e OpenSSH
SSH (Secure Shell) é um programa para efetuar login em uma máquina remota e executar comandos nessa máquina. O protocolo SSH fornece comunicações criptografadas seguras entre dois hosts não confiáveis através de uma rede insegura. Você também pode encaminhar conexões X11 e portas TCP/IP arbitrárias através do canal seguro.
O protocolo SSH atenua as ameaças à segurança, tais como interceptação da comunicação entre dois sistemas e imitação de um determinado host, quando você o utiliza para login remoto ou cópia de arquivo. Isto porque o cliente e o servidor SSH usam assinaturas digitais para verificar suas identidades. Além disso, toda a comunicação entre os sistemas cliente e servidor é criptografada.
OpenSSH
é uma implementação do protocolo SSH suportada por uma série de sistemas operacionais Linux, UNIX e similares. Ele inclui os arquivos centrais necessários tanto para o cliente OpenSSH quanto para o servidor. A suíte OpenSSH consiste das seguintes ferramentas de espaço do usuário:
-
ssh
é um programa de login remoto (cliente SSH) -
sshd
é umOpenSSH
daemon SSH -
scp
é um programa seguro de cópia remota de arquivos -
sftp
é um programa seguro de transferência de arquivos -
ssh-agent
é um agente de autenticação para o cache de chaves privadas -
ssh-add
adiciona identidades chave privadas assh-agent
-
ssh-keygen
gera, gerencia e converte chaves de autenticação parassh
-
ssh-copy-id
é um script que adiciona chaves públicas locais ao arquivoauthorized_keys
em um servidor SSH remoto -
ssh-keyscan
- reúne as chaves de anfitrião público do SSH
Existem atualmente duas versões do SSH: a versão 1, e a mais recente versão 2. A suíte OpenSSH
no Red Hat Enterprise Linux 8 suporta apenas o SSH versão 2, que tem um algoritmo melhorado de troca de chaves não vulnerável a explorações conhecidas na versão 1.
OpenSSH
, como um dos subsistemas criptográficos centrais da RHEL, utiliza políticas de criptografia em todo o sistema. Isto assegura que os conjuntos de cifras fracas e algoritmos criptográficos sejam desativados na configuração padrão. Para ajustar a política, o administrador deve usar o comando update-crypto-policies
para fazer configurações mais rígidas ou mais frouxas ou optar manualmente pela exclusão das políticas criptográficas de todo o sistema.
A suíte OpenSSH
utiliza dois conjuntos diferentes de arquivos de configuração: aqueles para programas de clientes (ou seja, ssh
, scp
e sftp
), e aqueles para o servidor (o daemon sshd
). As informações de configuração SSH de todo o sistema são armazenadas no diretório /etc/ssh/
. As informações de configuração do SSH específicas do usuário são armazenadas em ~/.ssh/
, no diretório home do usuário. Para uma lista detalhada dos arquivos de configuração do OpenSSH, consulte a seção FILES
na página de manual sshd(8)
.
Recursos adicionais
-
Páginas de homens para o tópico
ssh
listado pelo comandoman -k ssh
. - Usando políticas criptográficas de todo o sistema.