AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / computer / Perguntas / 1459811
Accepted
jww
jww
Asked: 2019-07-15 20:33:46 +0800 CST2019-07-15 20:33:46 +0800 CST 2019-07-15 20:33:46 +0800 CST

ssh-keygen e escrever certificado de usuário no formato X.509?

  • 772

Preciso criar um certificado SSH codificado como X.509 por RFC 6187, Certificados X.509v3 para autenticação Secure Shell . Com base na ssh-keygen (1)página do manual e em alguns tutoriais online, estou no ponto em que posso criar a CA, assinar uma identidade de usuário e salvá-la no formato de certificado OpenSSH.

Aqui estão as instruções:

  1. Criar chave CA

    ssh-keygen -b 4096 -t rsa -f example-com-ca -C "CA key for example.com"

  2. Criar chave de usuário

    ssh-keygen -b 2048 -t rsa -f id_rsa -C [email protected]

  3. Criar certificado de usuário

    ssh-keygen -s example-com-ca -n [email protected] -V +52w -I example.com-user ./id_rsa.pub

O certificado resultante é o formato OpenSSH:

$ cat id_rsa-cert.pub
[email protected] AAAAHHNzaC1yc2EtY2VydC12MDFAb3BlbnNzaC5jb20AAAAg0Ta
5nRrxKSB3k5sqCMH27W715uEUB54FKH44mBUMlCkAAAADAQABAAABAQDw8XuWbvSGsxyUdBY+KCfSRRz
G525MUN9/nbshWdl60ozMc4KU/Td44J8jKVq/hNHuyO7kqTaaeiO61FQmRPz3/vpmwUGEWkdhdQ5ujBj
1+X2/acnV+8Q2mXzxnvMvkcPh4T2jSXEMTJ8v5WG6cJkih+rJEbHHJF0tpxRSyxiNKfenDRRmGiyABd1
JDmkLLaNFLSSo4WeCFQ82nMi4Lod4QQMlakPgd76s6GNFflRklFWuhRadCdxrnz5e9ZMV8vDeAi+8IS8
9z+hWotYC4TVAb8is72Un6/1rwNQgWX5NcX3O1ocboJuEanFIh2QJTYq/UBwSQobH2+fXq06Qm4efAAA
AAAAAAAAAAAABAAAAEGV4YW1wbGUuY29tLXVzZXIAAAAUAAAAEGpkb2VAZXhhbXBsZS5jb20AAAAAXSv
+tAAAAABfC+ETAAAAAAAAAIIAAAAVcGVybWl0LVgxMS1mb3J3YXJkaW5nAAAAAAAAABdwZXJtaXQtYWd
lbnQtZm9yd2FyZGluZwAAAAAAAAAWcGVybWl0LXBvcnQtZm9yd2FyZGluZwAAAAAAAAAKcGVybWl0LXB
0eQAAAAAAAAAOcGVybWl0LXVzZXItcmMAAAAAAAAAAAAAAhcAAAAHc3NoLXJzYQAAAAMBAAEAAAIBAMG
bEpcMRTnu5ewWWytcQqzcnSDZbF5yRYpEyQsKTLrQmSux104OOsXQ/5ba30/li4uewK0sL7Qqb79ZCVh
9pH4dnZf6KYIEtkTV2mj4d11ZsRYMXAcBSpuua+O6CTdEGMtmWrQZ3mVUMvCy8UFqcePE/QjxgvUBYZN
jRxx+nPtbYf88AWF1/I6uwKODaPspwpwh07TTqNjmIMpvc6gTWx0RO1avzTveOEvTnapgJI0mRjUmyGX
vvncE9U0WC65kugIkZcjI/kkXBVrgYVfhDssF8bvX2cO7NQt4QH5yANWgm0HraGqmNRAPXd84vomI0gF
8W4xwC9gnfJzjheeXLUEzSXOwiZSU2ElF1kGUlYRtM59VUjsTvFxjrXA9pPtGO5RopXot1GB3Y7vxnkj
blDzSdMAeLms0jv8Um6ty9uDzmW8o5GHZudatL8CAEP6HIvLrI6zQeI8iIlLmCsNjxE8p7annldcrNsX
f8hpNeG7RPtgcU1pMmc/fc3UPBvToqnMVfjKi1n2kGYrhOiNbfcpW7nZUSfLcSZGryIYMb7IlTjsXm6v
E1rCzJKukcMuI8U3qUwRzRS/xgLF5msSOiJ9qFM/FERGa6zYvdgTV2aq/07fDedqleChMreCiYPxPp1n
DLJOBcC+nvx7tIGj05z9BJvuCfOQWVnjIjZc0tUitAAACDwAAAAdzc2gtcnNhAAACALBk/Z4b3Z4O35H
NpC91oLWJExk39tkjdgJBC7YelzfH7apA4em/rk8G219EIJ8elKifJzLze1t3bfWOx/dwUHuTfqZ/e1h
j6Q/iNDQ9Q/2ijWso1E6alSIapdGogWHCQ4IDBlWaF8xzlCACbo82js2uvSYmbbcMlXPKqLbPJwiNJt8
AhDz3/JqRqedN7tObDMgUz0O0PGkYwUXjVV77EaVpRZF3ffTvnBBw9vHSwriVOZgOk4l2iXbZU51A+QB
l8bgFj4QCGvobMul/0AV+QsQ20AqUQ/nEIM1rXuH+ki0PYVpKkXPhKf2ODkLZdmpuKZX5lM9FumkFf/s
VVPa5GsonJG5s2VVEz7L+Ed6KBaJ+kFQrXu4hDxwEUCd/y/gYSicOb7B7N0jkPaVwRoR6tb0mAXGKE44
tumvptu/AJjlB23QOgIIToARgqampzmPwAm8jbU2AU3RtWx+RZGPnJKsJPtADMZ7ByJnGY/mPoNpGqQc
H8h+tClb1Ihxhbh1RQSuJNdgNlNGJbSdsonS9/8fxyxt7ok06Z05N6dy3PLwTuub1EzKmeSwQhHLHWXA
SKILcUaMosak1ybQZz8kMMrsMMUA2ubjrtGA8oe5skhc9gbAurebO1iGg+asUSNycDXZypwl20wpMlzL
VkxXSGHIz6Cd9QsfmJtuQh4QXfFrE [email protected]

É aqui que estou tendo problemas. Não vejo a ssh-keygen (1)opção de escrever o certificado no formato X.509. Prefiro codificação PEM, mas provavelmente posso trabalhar com codificação ASN.1/DER.

Como escrever o certificado no formato X.509?

Uma questão relacionada está em Alternatives to SSH x509 logon .

ssh linux
  • 2 2 respostas
  • 5178 Views

2 respostas

  • Voted
  1. Best Answer
    user1686
    2019-07-15T21:07:38+08:002019-07-15T21:07:38+08:00

    OpenSSH não suporta X.509 – ele não pode gerar tais certificados nem consumi-los. ( Cas OpenSSH são algo totalmente diferente, e não há tradução padrão OpenSSH CA ⇆ X.509 especificada. Além do formato, eles intencionalmente não suportam muitos recursos PKI como hierarquia CA multi-nível, ao mesmo tempo em que são capazes de transportar OpenSSH específicos "opções de chave" e outros metadados que não possuem extensões X.509 correspondentes.)

    Você provavelmente deseja o PKIX-SSH de Roumen Petrov , que é um fork OpenSSH mantido ativamente com amplo suporte X.509 PKI, incluindo os formatos RFC 6187 x509v3-*.


    Se você precisar gerar uma entrada authorized_keys para um certificado X.509 existente , sem ter as ferramentas necessárias, o formato é relativamente simples e pode ser feito manualmente por meio de qualquer linguagem de programação. Os dados de author_keys são sempre baseados no formato de pacote SSHv2 (onde cada 'string' é implicitamente precedido por uint32be indicando seu comprimento); o primeiro item é sempre uma string com o próprio tipo pubkey; o restante está documentado na página 5.

    (O campo 'certificado' contém dados codificados em DER, mas observe que a codificação PEM é literalmente apenas Base64 em torno do mesmo ASN.1 DER, com cabeçalhos "início/fim" inseridos.)

    • 4
  2. Ciges
    2020-03-27T04:56:44+08:002020-03-27T04:56:44+08:00

    Tenho lutado com autenticação via SSH usando certificados X509, e depois de algum tempo entendi e testei com sucesso.

    Caso seja útil para alguém, escrevi um post explicando todo o processo em um blog que acabei de implantar (de uma maneira rápida e suja, o blog é simples e não muito bonito, mas útil).

    Você pode ler uma descrição completa do teste no artigo "OpenSSH com certificados X509 COMO FAZER" .

    Cumprimentos.

    • 0

relate perguntas

  • Exigir autenticação LDAP *e* autenticação ssh

  • Carregar chave “ec256.pem”: formato inválido é lançado ao tentar gerar chave pública a partir de chave privada

  • Como ativar o sensor de impressão digital no domínio e no diretório ativo do Linux

  • Como alterar permanentemente Ctrl + C para Ctrl + K no CentOS 7?

  • Por que chown 600 id_rsa corrige problemas de permissões?

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    O visualizador de fotos do Windows não pode ser executado porque não há memória suficiente?

    • 5 respostas
  • Marko Smith

    Como faço para ativar o WindowsXP agora que o suporte acabou?

    • 6 respostas
  • Marko Smith

    Área de trabalho remota congelando intermitentemente

    • 7 respostas
  • Marko Smith

    Serviço do Windows 10 chamado AarSvc_70f961. O que é e como posso desativá-lo?

    • 2 respostas
  • Marko Smith

    O que significa ter uma máscara de sub-rede /32?

    • 6 respostas
  • Marko Smith

    Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows?

    • 1 respostas
  • Marko Smith

    O VirtualBox falha ao iniciar com VERR_NEM_VM_CREATE_FAILED

    • 8 respostas
  • Marko Smith

    Os aplicativos não aparecem nas configurações de privacidade da câmera e do microfone no MacBook

    • 5 respostas
  • Marko Smith

    ssl.SSLCertVerificationError: falha na verificação do certificado [SSL: CERTIFICATE_VERIFY_FAILED]: não foi possível obter o certificado do emissor local (_ssl.c:1056)

    • 4 respostas
  • Marko Smith

    Como posso saber em qual unidade o Windows está instalado?

    • 6 respostas
  • Martin Hope
    Albin Como faço para ativar o WindowsXP agora que o suporte acabou? 2019-11-18 03:50:17 +0800 CST
  • Martin Hope
    fixer1234 O "HTTPS Everywhere" ainda é relevante? 2019-10-27 18:06:25 +0800 CST
  • Martin Hope
    Kagaratsch O Windows 10 exclui muitos arquivos minúsculos muito lentamente. Algo pode ser feito para agilizar? 2019-09-23 06:05:43 +0800 CST
  • Martin Hope
    andre_ss6 Área de trabalho remota congelando intermitentemente 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney Por que colocar um ponto após o URL remove as informações de login? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    Inter Sys Como Ctrl+C e Ctrl+V funcionam? 2019-05-15 02:51:21 +0800 CST
  • Martin Hope
    jonsca Todos os meus complementos do Firefox foram desativados repentinamente, como posso reativá-los? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK É possível criar um código QR usando texto? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 Altere o nome da ramificação padrão do git init 2019-04-01 06:16:56 +0800 CST

Hot tag

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve