POST | Criar chave SSH
  • 4 minutos de leitura
  • Tema escuro
    Tema claro
  • Pdf

POST | Criar chave SSH

  • Tema escuro
    Tema claro
  • Pdf

Resumo do artigo

Crie uma chave SSH no PAM Core.

Requisitos

Requisição

POST /api/pam/key

Parâmetros de requisição

Envie os parâmetros abaixo no body da requisição.

  • ip - string - obrigatório - Endereço IP do dispositivo principal associado à chave SSH.


  • hostname - string - obrigatório - Nome do host do dispositivo principal associado à chave SSH.


  • private_key - string - obrigatório - Chave privada necessária para autenticação do usuário.
    Exemplo: -----BEGIN OPENSSH PRIVATE KEY-----\rcTA9Vb5aA0kXaK2HEjGUWgeCBG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW\rQyNTUxOQAAACCLABE9/nb3BlbnNzaC1rZXktdjEAAAAAxtPOCkR2sGccAAAAKi5DXJnuQ1y\r\nZwAAAAtzc2gtZWQyNTUxOQAAACCLABE9/cTA9VTGVpdGVGZXJyZWlyYUBIUjFTUkb5aA0kXaK2HEjGUWgeCxtPOCkR2sGccA\rDgaNiGsvbkkkXhepU2NQi3iZ4sAET39xMD1VvloDSRdorYc\rSMZRaB4LG084KRHawZxwAAAAI0F6dXJlQUQrRGVib3JhAAAECc20zsB7FuSJQAqhLxe\rgzAQI=\r-----END OPENSSH PRIVATE KEY-----


  • public_key - string - obrigatório - Chave pública que permite que servidores verifiquem a identidade do usuário associado à chave privada correspondente.
    Exemplo: ssh-ed25519 C1lZDI1NTE5AAawZxwAAAAAAC3NzaIIsAET39xdorYcSMZRaB4LG084MD1VvloDSRKRH AzureAD+DeboraLeiteFerreira@HR1SRH3


  • identifier - string - String única definida pelo usuário ou pelo senhasegura para identificar a chave SSH.
    Nota: embora o preenchimento do campo não seja obrigatório pelo usuário, por motivos de segurança e para que a chave SSH possa ser atualizada posteriormente, o sistema gerará automaticamente um identificador baseado em UUID caso ele seja deixado em branco. Este valor pode ser atualizado em chamadas futuras.


  • username - string - Nome de usuário relacionado à chave no dispositivo.
    Nota: apesar de não obrigatório, como boa prática, o preenchimento desse campo facilita a busca pela chave SSH.

    Valor padrão da nova chave SSH: usr


  • enabled - boolean - Situação da chave SSH: ativa = true; inativa = false.



devices - array de hostnames - Dispositivos adicionais associados à chave SSH, contendo seu hostname.



   → hostname - string - Nome do host do dispositivo adicional.
  Nota: apenas dispositivos previamente registrados são aceitos.


  • tags - string - Palavras-chave associadas à chave SSH.


  • key_name - string - Nome da chave SSH definido pelo usuário.
    Nota: apesar de não obrigatório, como boa prática, o preenchimento desse campo facilita a busca pela chave SSH.


  • password - string - Senha opcional que fornece uma camada extra de segurança à chave privada.


Exemplo de requisição

POST {{url}}/api/pam/key

{
    "ip": "10.66.33.15",
    "hostname": "w2016",
    "private_key": "-----BEGIN OPENSSH PRIVATE KEY-----\r\cTA9Vb5aA0kXaK2HEjGUWgeCBG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW\r\nQyNTUxOQAAACCLABE9/nb3BlbnNzaC1rZXktdjEAAAAAxtPOCkR2sGccAAAAKi5DXJnuQ1y\r\nZwAAAAtzc2gtZWQyNTUxOQAAACCLABE9/cTA9VTGVpdGVGZXJyZWlyYUBIUjFTUkb5aA0kXaK2HEjGUWgeCxtPOCkR2sGccA\r\nDgaNiGsvbkkkXhepU2NQi3iZ4sAET39xMD1VvloDSRdorYc\r\nSMZRaB4LG084KRHawZxwAAAAI0F6dXJlQUQrRGVib3JhAAAECc20zsB7FuSJQAqhLxe\r\ngzAQI=\r\n-----END OPENSSH PRIVATE KEY-----",
    "public_key": "ssh-ed25519 C1lZDI1NTE5AAawZxwAAAAAAC3NzaIIsAET39xdorYcSMZRaB4LG084MD1VvloDSRKRH AzureAD+DeboraLeiteFerreira@HR1SRH3",
    "username": "dleite3",
    "identifier": "sshkey3",
    "enabled": true,
    "devices": [
        {
            "hostname": "API device test"
        }
    ],
    "tags": "mainsshkey",
    "key_name": "teste4",
    "password": "fkjwe87a5a8fa9a" 
}

Resposta

 {
   "code": 201,
   "response": {
       "status": 201,
       "message": "Key successfully registered!",
       "error": false,
       "error_code": 0,
       "detail": "",
       "mensagem": "Key successfully registered!",
       "erro": false,
       "cod_erro": 0
   },
   "key": {
       "id": "92",
       "identifier": "sshkey0",
       "devices": [
           {
               "hostname": "API device test",
               "ip": "10.66.33.20"
           }
       ],
       "devices_error": []
   }
}

Erros

400 - Bad Request.

Mensagem: "1004: The device's hostname was not informed"

Possível causa: o parâmetro obrigatório hostname do dispositivo não foi informado.

Solução: informe um valor para o parâmetro hostname do dispositivo e envie a requisição novamente.

Mensagem: "1005: The device's IP was not informed"

Possível causa: o parâmetro obrigatório ip do dispositivo não foi informado.

Solução: informe um valor para o parâmetro ip do dispositivo e envie a requisição novamente.

Mensagem: "1013: The public key was not informed"

Possível causa: o parâmetro obrigatório public_key não foi informado.

Solução: informe um valor para o parâmetro public_key e envie a requisição novamente.

Mensagem: "1014: The private key was not informed"

Possível causa: o parâmetro obrigatório private_key não foi informado.

Solução: informe um valor para o parâmetro private_key e envie a requisição novamente.

Mensagem: "1039: Without PAM Configuration Access permission"

Possível causa: sua autorização não possui permissão de criação de dispositivo.

Solução: solicite ao administrador que revise sua permissão de leitura e escrita aos recursos do PAM Core no A2A.


404 - Not Found.

Mensagem: "Resource sub not found"

Possível causa: a URL ou o recurso solicitado não está correto.

Solução: verifique a URL e garanta que todos os parâmetros estão corretos.


500 - Internal Server Error.

Mensagem: "Unexpected error."

Possível causa: o erro está no servidor senhasegura.

Solução: contate o time de suporte para mais informações.


Mensagem: "You are not authorized to access this resource."

Possível causa: você não possui autorização para acessar esse recurso.

Solução: solicite ao administrador que revise sua permissão de acesso aos recursos do PAM Core no A2A.


Client authentication failed.

Mensagem: "Client authentication failed."

Possível causa: falha na autenticação da sua aplicação com o servidor senhasegura.

Solução: verifique os parâmetros de autenticação como Access Token URL, Client ID e Client secret e solicite um novo token de acesso.


Invalid signature.

Mensagem: "Invalid signature"

Possível causa: falha no reconhecimento da URL da aplicação cliente.

Solução: verifique a URL da aplicação cliente e envie a requisição novamente.


No route matched with those values.

Mensagem: "No route matched with those values."

Possível causa: ausência do header de autorização na requisição de API.

Solução: solicite um novo token de acesso.


Request timed out.

Mensagem: "Request timed out."

Possível causa: o tempo da requisição se esgotou.

Solução: verifique a conectividade entre a origem da requisição e o servidor senhasegura.


Este artigo foi útil?