ฉันจะส่งจดหมายที่เข้ารหัส gpg โดยอัตโนมัติจากบรรทัดคำสั่ง linux ได้อย่างไร


21

ฉันจะส่งจดหมายที่เข้ารหัส gpg โดยอัตโนมัติจากบรรทัดคำสั่ง linux ได้อย่างไร

ฉันนิ่งงันนิดหน่อยในเรื่องนี้ฉันลองใช้ mutt แต่มันไม่ได้เข้ารหัสเมลถ้ามันถูกใช้แบบโต้ตอบ

ไม่มีใครรู้ว่าคุณสามารถใช้คำสั่ง build in mail เพื่อทำสิ่งนี้ได้อย่างไร?

คำตอบ:


25

ลองสิ่งที่ชอบ

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

เพื่อส่งสำเนาไฟล์ "ชื่อไฟล์" ที่เข้ารหัสด้วยกุญแจสาธารณะพร้อมรหัสที่เข้ารหัสไปยังบุคคลที่ชื่อ "ชื่อผู้รับ" (ผู้ที่อยู่ในพวงกุญแจ gpg ของคุณ) ที่ที่อยู่อีเมลที่ผู้รับ @example.com พร้อมหัวเรื่อง

หรือ

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

เพื่อส่งข้อความโดยตรงมากกว่าจากไฟล์ cleartext บนดิสก์


นั่นเซ็นข้อความ (ด้วยคีย์ส่วนตัวของคุณ) เช่นกัน?
teeks99

1
เพิ่ม "s" ลงในคำสั่ง gpg สำหรับสิ่งนั้น - เช่น gpg -eas -r "John Smith"
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

voila


0

นี่เป็นสคริปต์เล็กน้อยที่ฉันเขียน บันทึกไปยัง ~ / ชื่อผู้ใช้ / 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
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.