Как я могу автоматически отправлять зашифрованные сообщения gpg из командной строки linux?
Как я могу автоматически отправлять зашифрованные сообщения gpg из командной строки linux?
Я немного озадачен этим, я пытался использовать Mutt, но он не шифрует почту, если он не используется в интерактивном режиме.
Кто-нибудь знает, можете ли вы использовать команду build in mail для этого?
3 ответа
Попробуй что-то вроде
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
отправлять текст напрямую, а не из файла открытого текста на диске.
Альтернатива для тех, кто использует 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à
Вот небольшой сценарий, который я написал. Сохраните его в ~/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