Ir para o conteúdo

Acesso de Clientes Windows à máquinas Linux com ssh e certificado de chave pública

Para acessar uma máquina Linux via SSH usando um certificado de chave pública, você pode seguir estas etapas:

  1. Na máquina cliente (pode ser Mac, Linux ou Windows), abra um terminal ou prompt de comando.

  2. Se você ainda não tiver um par de chaves, gere um par de chaves pública/privada executando o seguinte comando:

    Windows (Power Shell):

    ssh-keygen.exe -t rsa -b 4096
    

    Exemplo no Power Shell

    $ ssh-keygen.exe -t rsa -b 4096
    
    Generating public/private rsa key pair.
    Enter file in which to save the key (C:\Users\Seu Usuário/.ssh/id_rsa):
    Created directory 'C:\\Users\\Seu Usuário/.ssh'.
    Enter passphrase (empty for no passphrase):
    Enter same passphrase again:
    Your identification has been saved in C:\Users\Seu Usuário/.ssh/id_rsa
    Your public key has been saved in C:\Users\Seu Usuário/.ssh/id_rsa.pub
    The key fingerprint is:
    SHA256:id7BHFo2yuOy3JiDLzQubdGiUboN1T2IUuyVDxSThpI seu_usuario@vm-win11
    The key's randomart image is:
    +---[RSA 4096]----+
    | o o++           |
    |E + *.           |
    | + = =  =        |
    |. = o.+O +       |
    | = .  *.S        |
    |+ = .o o .       |
    | X =. o .        |
    |+ B..*           |
    | o o*..          |
    +----[SHA256]-----+
    

    Isso irá gerar um par de chaves RSA de 4096 bits. Siga as instruções para escolher um local para salvar a chave e, opcionalmente, uma senha para protegê-la.

  3. Copie a chave pública para a máquina remota usando o seguinte comando, substituindo pelo seu nome de usuário e pelo endereço IP da máquina remota:

    Windows (usando o Git Bash ou um cliente SSH como o PuTTY):

    cat ~/.ssh/id_rsa.pub | ssh seu_usuario@ip_da_maquina "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
    

    Exemplo no Windows (Power Shell):

    $ cat ~/.ssh/id_rsa.pub | ssh seu_usuario@ip_da_maquina "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
    
    The authenticity of host '192.168.0.1 (192.168.0.1)' can't be established.
    ED25519 key fingerprint is SHA256:PP/ugD5p5xzldFqrg2I1SBE1vWjYliuWLuzYs+6612A.
    This key is not known by any other names
    Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
    Warning: Permanently added '192.168.0.1' (ED25519) to the list of known hosts.
    seu_usuario@192.168.0.1's password:
    

  4. Agora você pode tentar se conectar à máquina remota usando a chave pública, executando o seguinte comando:

    $ ssh -i ~/.ssh/id_rsa seu_usuario@ip_da_maquina
    

    ou

    $ ssh seu_usuario@ip_da_maquina
    

    Isso tentará autenticar usando a chave privada correspondente à chave pública que você copiou para a máquina remota. Se a autenticação for bem-sucedida, você será conectado à máquina remota via SSH.

    Nota

    Certifique-se de substituir seu_usuario pelo seu nome de usuário e ip_da_maquina pelo endereço IP da máquina remota em todos os comandos acima.