Criptografair senha temporária usando a key pública ssh

Gerenciei um escritório virtual e nossa equipe usa keys SSH e passwords paira authentication. Se um dos nossos funcionários esquecer sua senha, existe uma maneira de criptografair uma senha temporária usando sua key pública RSA ssh paira que eu possa enviá-la por e-mail?

Eu vi outras questões relacionadas a este, no entanto, as "respostas" geralmente recomendam contra o uso de keys SSH públicas / privadas paira executair encryption / deencoding geral e na viewdade não indicam se isso é possível. Gostairia de saber se é realmente possível e quais são as etapas paira criptografair e depois descriptografair a senha.

4 Solutions collect form web for “Criptografair senha temporária usando a key pública ssh”

Eu finalmente descobri como conviewter uma key pública OpenSSH paira o format PEM em um blog e conseguiu criptografair e decifrair com sucesso uma string usando minha key privada / pública.

Descrevi as etapas que usei paira executair encryption e desencryption.

Paira criptografair uma string:

# conviewt public key to PEM format ssh-keygen -f ~/.ssh/id_rsa.pub -e -m PKCS8 > ~/.ssh/id_rsa.pub.pem # encrypt string using public key echo "String to Encrypt" \ | openssl rsautl -pubin -inkey ~/.ssh/id_rsa.pub.pem -encrypt -pkcs \ | openssl enc -base64 \ > string.txt 

Paira descriptografair uma string (a pairtir do file):

 openssl enc -base64 -d -in string.txt \ | openssl rsautl -inkey ~/.ssh/id_rsa -decrypt 

Como meu objective é enviair a senha por e-mail, escrevi um script extremamente básico paira automatizair as coisas um pouco:

 #!/bin/sh if test "x${1}" == "x";then echo "Usage: ${0} <username>" exit 1 fi SSHUSER=${1} printf "Enter Password: " read PASS1 echo "" echo "" ssh-keygen -f /home/${SSHUSER}/.ssh/id_rsa.pub -e -m PKCS8 \ > /tmp/ssh-pubkey-${SSHUSER}.pem echo 'cat << EOF |openssl enc -base64 -d |openssl rsautl -inkey ~/.ssh/id_rsa -decrypt' echo "New Password: ${PASS1}" \ | openssl rsautl -pubin -inkey /tmp/ssh-pubkey-${SSHUSER}.pem -encrypt -pkcs \ | openssl enc -base64 echo "EOF" echo "" rm -f /tmp/ssh-pubkey-${SSHUSER}.pem 

Posso então enviair a saída do script em um e-mail paira o user decodificair.

O script completo está disponível no Github: https://gist.github.com/3078682

É possível porque é apenas uma key RSA. Use openssl:

 openssl rsautl -encrypt -inkey alice.pub >message.encrypted 

Eu cortei esta questão sobre o Unix / Linux SE.

Devo dizer que o PGP é mais adequado paira isso.

Em geral, sim, isso é possível. Tudo o que SHH faz é gerair um Módulo N e duas keys e (a key pública) e d (a privada). O mecanismo empregado geralmente é RSA ou DSA e as keys geradas podem ser usadas paira encryption. Tudo o que você precisairia fazer é extraí-los da base64 blob que é a key pública e, em seguida, usair um programa adequado paira criptografair dados com essas keys. Você pode estair interessado em Monkeysphere que pode transferir entre o format da key ssh e as teclas gnupg. Isso deve permitir que você também use as keys paira encryption.

Normalmente, não é possível fazer encryption em massa com keys assyétricas. Mas isso não importa, pois você não deviewia lidair com esse nível de detalhes. Use um toolkit (o openssl é um bom http://www.openssl.org/docs/apps/openssl.html ) paira fazer o trabalho paira você. O que você deseja fazer é criair uma mensagem criptografada contendo a nova senha temporária e especificair o pair de keys do user como o destinatário. Exemplos em abundância nesta página: http://www.openssl.org/docs/apps/smime.html

  • Atualizando o OpenSSH paira a viewsão estável mais recente via yum
  • Por que não consigo fazer ping na minha instância EC2 do service web Amazônia, recentemente configurada?
  • Como você pode fazer SSH dynamic e baseado em key semelhante ao GitHub?
  • Como recuperair o access SSH depois de ser bloqueado pelo iptables?
  • Se, usando apenas keys públicas, um cliente SSH fizer login no server SSH comprometido (ou já está logado), o cliente SSH também está em risco?
  • OpenSSH no Windows Serview 2012 R2
  • Por que minhas sessões ssh se congelam depois de algum tempo?
  • Adicionair comentário à key pública SSH existente
  • Permitir Pubkey OU Autenticação de Senha paira users Chrootados