Comment puis-je envoyer automatiquement du courrier crypté gpg à partir de la ligne de commande linux?

21

Comment puis-je envoyer automatiquement du courrier crypté gpg à partir de la ligne de commande linux?

Je suis un peu perplexe sur celui-ci, j'ai essayé d'utiliser mutt mais il ne crypte pas le courrier sauf s'il est utilisé de manière interactive.

Est-ce que quelqu'un sait si vous pouvez utiliser la commande build in mail pour le faire?

Rwky
la source

Réponses:

25

essayez quelque chose comme

gpg -ea -r "Recipient name" -o - filename | mail -s "Subject line" [email protected]

pour envoyer une copie du fichier "nom_fichier" à armure ascii et à clé publique cryptée à une personne nommée "nom du destinataire" (qui se trouve dans votre trousseau de clés gpg) à l'adresse e-mail [email protected] avec la ligne d'objet spécifiée.

ou

echo "Your secret message" | gpg -ea -r "Recipient name" | mail -s "Subject" [email protected]

pour envoyer du texte directement plutôt qu'à partir d'un fichier en texte clair sur le disque.

gbroiles
la source
Est-ce que cela signe également le message (avec votre clé privée)?
teeks99
1
Ajoutez "s" à la commande gpg pour cela - par exemple, gpg -eas -r "John Smith"
gbroiles
0

Une alternative pour ceux qui utilisent msmtp.

cat <<EOF | gpg -ea -r "recipient gpg name" | msmtp -a "account default" [email protected] Subject: Hello Kosmos Type your message here, yada yada yada. EOF

voilà

qhaz
la source
0

Voici un petit script que j'ai écrit. Enregistrez-le dans ~ / username / bin / gpgmail et exécutez chmod 755 gpgmail. Exécutez avec gpgmail.

#!/bin/bash
# Send encrypted email
# Requires gpg and mail to be setup

echo "Available keys:"
gpg --list-keys
# Gather variables
echo "Enter public key of recipient:"
read user
echo "Enter email:"
read email
echo "Enter subject:"
read subject
echo "Enter message:"
read message

# Pipe the echoed message to gpg, sign and encrypt it to ascii (-eas), include your key so you can read it,
# include recipients key, pipe to mail with the (unencrypted) subject, send to the given email.
echo "$message" | gpg2 --no-emit-version -eas -r [email protected] -r $user | mail -s "$subject" $email
poisson clownhumain
la source