A principal maneira de se conectar a um servidor Linux é por meio de Protocolo SSH. Este tipo de conexão é seguro, porque todos os dados transferidos por ela são criptografados. Para para estabelecer conexão SSH você deve configurá-lo no servidor remoto ao qual deseja se conectar, e o cliente no lado do usuário. Há uma tonelada de software para conexão SSH. Quanto ao Linux, o pacote OpenSSH é o mais popular e para Windows as pessoas estão usando principalmente PuTTY.
Vamos dar uma olhada mais de perto na configuração do servidor usando o Ubuntu Server 18.04 como exemplo e, em seguida, tentar conectar-se ao servidor pelo Linux e Windows.
Tudo o que fizermos será de uma conta de usuário comum. Neste caso, criamos um usuário “mihail", E"raiz” a conta é desabilitada por padrão.
Configuração do lado do servidor
Configure o pacote executando este comando:
sudo apt install openssh-server
Após a instalação terminar, certifique-se de que o serviço esteja em execução. Use este comando:
systemctl status sshd
Status "Ativo (correndo)” significa que o serviço está habilitado e operando normalmente.
Para evitar o bloqueio de conexões de entrada pelo firewall, certifique-se de desabilitá-lo, porque não vamos configurar o firewall de rede neste artigo.
Use este comando:
sudo ufw disable
Nesta fase você já pode se conectar ao servidor. Com as configurações padrão, o servidor permite conexão à porta padrão 22 com autenticação baseada em senha.
Conexão SSH do Linux
Como regra, o cliente OpenSSH é instalado no Linux por padrão e não requer configuração manual adicional. A conexão pode ser estabelecida a partir do terminal com a ajuda do comando ssh. Os parâmetros neste caso seriam o nome de usuário e o endereço IP do servidor remoto. Em nosso servidor de teste que estamos usando como exemplo, há apenas uma conta “mihail”, então usaremos isso.
ssh [email protected]
Na primeira conexão você terá que confirmar a adição da chave pública do servidor ao banco de dados, então responda “sim”. Depois disso, você pode digitar a senha. Se a conexão for feita com sucesso, você verá um texto de boas-vindas da linha de comando do servidor. Agora, todos os comandos serão executados diretamente no servidor remoto.
SSH do Windows
Abra o Putty e defina os parâmetros de conexão. Certifique-se de que o switch “Tipo de conexão" é voltado para SSH. Insira o endereço IP em “Nome do host” campo, valor padrão 22 para dentro "Porta"E clique em"Abra".
Na primeira conexão massa de vidraceiro pedirá que você confirme que confia neste servidor, então clique em “Sim"
Depois de inserir o login e a senha, você verá a linha de comando do servidor remoto.
Autenticação por chave. Aumento do nível de segurança
Quando um cliente está tentando estabelecer uma conexão segura com o servidor por meio de SSH, antes de permitir a conexão, o servidor precisa autenticar (verificar) o cliente. Como mencionado antes, a autenticação baseada em senha é geralmente usada por padrão. Ela não fornece segurança robusta, porque sempre há uma maneira de forçar brute. Além disso, a autenticação de senha não é aplicável a conexões SSH com o uso de scripts.
Para esse tipo de tarefa, há um método especial de autenticação por chave. O ponto é que o cliente gera chaves privadas e públicas e então a chave pública é enviada ao servidor. Depois disso, você não precisa de senha para se conectar ao servidor, porque a autenticação é conduzida com base em chaves públicas e privadas do cliente. Para fornecer um bom nível de segurança, o acesso à chave privada deve ser restrito. Devido ao fato de que a chave privada é armazenada no lado do cliente e não é transferida pela rede, acredita-se que esse método seja mais seguro.
Autenticação por chave no Linux
Vamos gerar chaves públicas e privadas no cliente com a ajuda do software utilitário ssh-keygen. A ferramenta irá sugerir alterar o caminho para a chave privada e inserir uma frase-senha para segurança extra. Deixe todos os parâmetros como padrão pressionando Enter em todas as solicitações.
Como resultado, no diretório inicial da pasta .ssh você encontrará dois arquivos gerados: id_rsa e id_rsa.pub que contêm chaves privadas e públicas.
Depois disso, você precisará enviar a chave pública para o servidor. Para fazer isso, copie o conteúdo do “id_rsa.pub“arquivo em”~ / .ssh / authorized_keys” arquivo no servidor. Vamos pelo caminho mais fácil com a ajuda de “ssh-cópia-id” ferramenta. Insira o login e o endereço IP do servidor, assim como no caso de uma conexão comum. Após inserir a senha, a chave pública do cliente será automaticamente copiada para o servidor. Execute este comando:
ssh-copy-id [email protected]
Depois de fazer tudo isso, o servidor não exigirá mais a digitação da senha.
Autenticação por chave no Windows
Abra GEN DE MASSA e clique em "Gerar”. Para gerar as chaves, basta passar o mouse sobre a tela e a ferramenta irá gerar as chaves aleatoriamente.
Após as chaves serem geradas, clique em “Salvar chave privada” e salve-o no arquivo com chave privada no seu disco. Você pode definir qualquer caminho que desejar, mas um pouco mais tarde você precisará especificá-lo no Putty. Então copie a chave pública do topo da janela.
Vamos enviar a chave pública simplesmente copiando-a para o terminal. Abra massa de vidraceiro e conectar ao servidor como de costume. Agora vamos criar “.ssh / authorized_keys" e restringir o acesso de outros usuários ao arquivo, para que ele fique disponível apenas para o criador.
mkdir .ssh
touch .ssh/authorized_keys
chmod 700 .ssh
chmod 600 .ssh/authorized_keys
Após criar o arquivo, coloque a chave pública do cliente nele. No estágio anterior, copiamos a chave pública para a área de transferência. Para gravar o que está na área de transferência no arquivo, use o comando cat e o redirecionamento de saída.
cat > .ssh/authorized_keys
Após digitar o comando, clique com o botão direito do mouse na janela do terminal e cole o que está na área de transferência. Para confirmar a entrada, pressione “Ctrl + D” atalho e desconecte-se do servidor.
Agora vamos especificar o caminho para a chave privada no Putty e conectar ao servidor novamente.
De agora em diante, para se conectar ao servidor, você só precisará digitar o nome de usuário. Se você estiver tentando se conectar ao servidor de outro dispositivo que não tenha a chave privada correta, o servidor solicitará a senha. Após a autenticação baseada em chave ser configurada, você pode desabilitar o acesso por senha.