Как я могу автоматически отправлять зашифрованные сообщения gpg из командной строки linux?

18

Как я могу автоматически отправлять зашифрованные сообщения gpg из командной строки linux?

Я немного озадачен этим, я пытался использовать Mutt, но он не шифрует почту, если он не используется интерактивно.

Кто-нибудь знает, можете ли вы использовать команду build in mail для этого?

Rwky
источник

Ответы:

23

попробуй что-то вроде

gpg -ea -r "Recipient name" -o - filename | mail -s "Subject line" recipient@example.com

отправить защищенную ascii копию файла «filename» в зашифрованном с открытым ключом лицу с именем «Имя получателя» (которое находится в вашем gpg-наборе ключей) по адресу электронной почты receient@example.com с указанной строкой.

или же

echo "Your secret message" | gpg -ea -r "Recipient name" | mail -s "Subject" recipient@example.com

отправлять текст напрямую, а не из файла открытого текста на диске.

gbroiles
источник
Это также подписывает сообщение (с вашим закрытым ключом)?
teeks99
1
Для этого добавьте «s» в команду gpg - например, gpg -eas -r «Джон Смит»
gbroiles
0

Альтернатива для тех, кто использует msmtp.

cat <<EOF | gpg -ea -r "recipient gpg name" | msmtp -a "account default" recipient@mail.com Subject: Hello Kosmos Type your message here, yada yada yada. EOF

voilà

qhaz
источник
0

Вот небольшой сценарий, который я написал. Сохраните его в ~ / username / bin / gpgmail и запустите chmod 755 gpgmail, Запустить с помощью 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 galenasphaug@gmail.com -r $user | mail -s "$subject" $email
clownfishhuman
источник