SSH: Noções básicas
O SSH é o principal protocolo e a principal ferramenta para gerenciar servidores remotos. Ele também permite criar túneis e transferir arquivos.
Utilitários SSH
Seção intitulada “Utilitários SSH”Servidor OpenSSH
Seção intitulada “Servidor OpenSSH”sshd(OpenSSH Daemon): daemon do lado do servidor que escuta as conexões SSH de entrada. Autentica os usuários e estabelece sessões seguras.sftp-server(subsistema do servidor SFTP): programa para transferência de arquivos usando o protocolo SFTP, normalmente iniciado de forma automática pelo daemon sshd.
Cliente OpenSSH
Seção intitulada “Cliente OpenSSH”ssh(cliente SSH): faz login em um servidor remoto, fornece um terminal virtual e executa comandos.ssh-keygen: cria e gerencia chaves de autenticação.scp: copia arquivos entre a máquina local e a remota usando um canal criptografado.sftp: transfere arquivos por um canal seguro, parecido com o FTP.
Conexão ao servidor
Seção intitulada “Conexão ao servidor”ssh root@example.comConectar ao servidor com uma porta personalizada:
ssh -p 2222 root@example.comConectar ao servidor com uma chave privada específica:
ssh -i ~/.ssh/server_ed25519 root@example.comConfiguração do cliente
Seção intitulada “Configuração do cliente”O cliente SSH pode funcionar sem arquivo de configuração e obter todos os parâmetros necessários dos argumentos da linha de comando. Mesmo assim, você pode criar um arquivo de configuração chamado ~/.ssh/config. Esse arquivo deve conter as seguintes informações:
Host example.com HostName 192.168.1.1 User root Port 2222 IdentityFile ~/.ssh/server_ed25519Host: nome do servidor. É o nome usado no comando de conexão:ssh example.comHostName: endereço opcional do servidor. Se o HostName não for definido, o endereço ou nome de host correto deve ser indicado emHostUser: nome de usuárioPort: porta do servidor. Padrão:22IdentityFile: campo opcional que indica o caminho completo do arquivo da chave privada
Chaves SSH
Seção intitulada “Chaves SSH”As chaves SSH são uma forma mais segura de fazer login em um servidor SSH do que usar senhas. Elas são formadas por um par de chaves: uma chave pública e uma chave privada. A chave pública fica no servidor ao qual você quer se conectar, enquanto a chave privada permanece na sua máquina local.
Geração
Seção intitulada “Geração”Para gerar um par de chaves SSH, use o seguinte comando:
ssh-keygen -t ed25519 -f ~/.ssh/server_ed25519ed25519- seleciona o tipo de criptografia. Ed25519 é a melhor escolha~/.ssh/server_ed25519- caminho do arquivo da chave privada. A chave pública será gerada como~/.ssh/server_ed25519.pub
Depois de iniciar o comando, ele vai pedir que você digite uma senha. Essa senha dá um nível extra de segurança e precisa ser digitada ao conectar ao servidor.
A chave pública é uma única linha com o seguinte formato:
ssh-ed25519 AAAA...UUUU user@example.comCopiar a chave pública para o servidor
Seção intitulada “Copiar a chave pública para o servidor”No servidor, adicione essa linha ao arquivo ~/.ssh/authorized_keys. Esse arquivo pode conter uma ou mais chaves. Para adicionar a chave pública, execute o seguinte comando:
echo "ssh-ed25519 AAAA...UUUU user@example.com" >>~/.ssh/authorized_keysEncaminhamento do SSH Agent
Seção intitulada “Encaminhamento do SSH Agent”O encaminhamento do SSH Agent permite usar suas chaves SSH locais em um servidor remoto sem compartilhá-las. Isso é útil quando você precisa acessar outro servidor a partir do primeiro servidor sem guardar suas chaves no servidor remoto.
Você pode ativar o encaminhamento do SSH Agent com a opção -A no comando ssh:
ssh -A example.comComo alternativa, você pode ativá-lo de forma permanente para um host específico no arquivo de configuração do SSH ~/.ssh/config:
Host example.com ForwardAgent yes