Saya mencoba menyiapkan OfflineIMAP untuk mengautentikasi melalui file terenkripsi gpg (dengan cara itu saya dapat menggabungkan semua enkripsi saya ke proses gpg-agent saya).
Dari dokumentasi, sepertinya satu-satunya cara untuk mengenkripsi kata sandi server seseorang adalah dengan menggunakan gnome-keyring (yang saya lebih suka tidak berjalan di server tanpa kepala saya). Apakah ada cara untuk memasukkan kata sandi saya dari file gpg seperti yang Anda bisa dengan mutt?
Saya tahu Anda dapat menambahkan fitur tambahan ke offlineimap dengan file ekstensi python, tapi saya khawatir saya tidak tahu harus mulai dari mana dengan itu.
encryption
gpg
offlineimap
Tammer Ibrahim
sumber
sumber
root
bisa dilakukan pengguna untuk menyiasati enkripsi. Ingatlah bahwa bahkan penerusan X11 dari mesin yang tidak terpercaya (mis. Viassh -X
) tidak aman.Jawaban:
Metode lain untuk membiarkan offlineimap berjalan dengan pengetahuan kata sandi Anda, tetapi tanpa meletakkan kata sandi pada disk, adalah membiarkan offlineimap berjalan di tmux / layar dengan
autorefresh
pengaturan yang diaktifkan di Anda~/.offlineimaprc
Anda perlu menambahkan
autorefresh = 10
ke[Account X]
bagian file offlineimaprc, untuk memeriksanya setiap 10 menit. Hapus juga baris konfigurasi denganpassword
ataupasswordeval
.Kemudian jalankan offlineimap - ia akan meminta kata sandi Anda dan menyimpannya di memori. Ini tidak akan keluar setelah menjalankan pertama, tetapi akan tidur selama 10 menit. Kemudian ia akan bangun dan berjalan lagi, tetapi ia masih mengingat kata sandi Anda.
Jadi Anda dapat membiarkan sesi tmux berjalan dengan offlineimap, masukkan kata sandi Anda sekali, dan offlineimap akan baik-baik saja setelahnya.
sumber
Saya menggunakan metode berikut, yang bekerja cukup baik:
1) Simpan kata sandi Anda dalam file terenkripsi gpg terpisah. Sebagai contoh
~/.passwd/<accountname>.gpg
2) Buat file ekstensi python dengan nama yang Anda pilih (misalnya,
~/.offlineimap.py
), dengan konten berikut:3) Ubah file .offlineimaprc Anda untuk memberi tahu tentang file python, dan untuk memberi tahu cara membaca kata sandi Anda
Jika Anda memiliki beberapa akun yang diperiksa secara bersamaan (utas terpisah), dan Anda menggunakan agen gpg, maka ia akan meminta frasa sandi Anda untuk setiap akun. Saya prima agen dengan membuat file (
echo "prime" | gpg -e -r [email protected] > ~/.passwd/prime.gpg
), dan priming agen gpg dengan mendekripsi file ini pada peluncuran offlineimap. Untuk melakukan ini, tambahkan berikut ini di akhir~/.offlineimap.py
:sumber
Mencintai jawaban dari @kbeta. Namun
subprocess.check_output()
hanya diperkenalkan di python 2.7 - jadi di sini adalah versiofflineimap.py
yang akan bekerja dengan versi python yang lebih lama:sumber