Ada beberapa diskusi singkat tentang ssh-agent -t
fitur yang ada di [1], dan ada posting sejauh 2001 pada debian-devel [2] yang menginginkan fitur batas waktu tidak aktif. Ada diskusi serupa di sini di SE [3] untuk kontes.
Saya harus bertanya-tanya bagaimana sisa planet ini melindungi kunci ssh - apakah saya kehilangan sesuatu yang jelas untuk ini menjadi titik sakit bagi saya, dan tampaknya tidak ada orang lain? Secara khusus saya sedang memikirkan interaksi ssh scripted, seperti dengan ansible. Tampaknya hari ini, pilihan Anda adalah:
- Atur masa hidup kunci Anda di agen ke periode waktu yang sangat lama, misalnya. 1 jam atau apa pun, waktu maksimum skrip Anda mungkin terjadi (saya ragu banyak orang membiarkan waktu tunggu sudo re-auth mereka diperpanjang selama itu!) - tetapi
seahorse
/gnome-keyring-daemon
nyaris tidak banyak mendukung ini [4] - Mengasuh naskah lama Anda dan tetap memasukkan kembali frasa sandi Anda setiap 5/10/15 menit: sekarang Anda dapat dengan mudah ditonton memasukkan frasa sandi Anda 20 kali sehari
- Meretas solusi buatan sendiri untuk meniru fitur yang hilang ini, mungkin bersama dengan
TMOUT
shell var Anda (terima kasih kepada orang-orang di freenode #openssh IRC untuk saran itu) - Tidak memiliki seumur hidup kunci yang ditetapkan sama sekali, yaitu agen Anda menyimpan kunci Anda dimuat selamanya atau sampai Anda membunuh / reboot
Jika Anda menggunakan waktu tunggu agen ssh singkat, frasa sandi yang kuat, dan file kunci yang berbeda untuk setiap jenis peran yang Anda otentikasi: ini mengarah ke hari yang sangat membuat frustrasi!
Saya telah bereksperimen dengan gpgkey2ssh dan smartcards, tetapi ini tidak benar-benar menyelesaikan masalah khusus ini: Saya masih ingin fungsionalitas ssh-agent dan saya tidak ingin harus auth-resh setiap 5 menit hanya untuk mencegah kunci privat saya diekspos dalam memori saat komputer saya idle.
Apakah saya salah?
[1] Mengkonfigurasi batas waktu default untuk agen SSH
[2] https://lists.debian.org/debian-devel/2001/09/msg00851.html
[3] /server/518312/putty-pageant-forget-keys-after- Period-of-inactivity
[4] https://bugs.launchpad.net/ubuntu/+source/gnome-keyring/+bug/129231
ssh-agent
tahu kapan sesi tidak aktif, tetapi setidaknya memulai batas waktu dari setiap kali operasi penandatanganan terakhir terjadi, bukan hanya kapan saja ssh-agent
diluncurkan. Selain itu, saya sudah menggunakan akun pengguna dan keyfile yang terpisah untuk setiap peran skrip, sudoer hanya memungkinkan 1 atau 2 perintah untuk sudo jika perlu, dan saya telah melihat lshell
untuk mengunci semuanya lebih jauh. Tetapi semua itu masih tidak membebaskan saya dari kebutuhan untuk melindungi keyfile saya: hanya karena sudo zfs send
satu-satunya perintah yang diizinkan untuk kunci yang diberikan, itu adalah perintah yang sangat kuat bagi siapa pun yang memegang kunci itu!
ControlMaster
/ ControlPath
/ ControlPersist
(lihat man ssh_config
) untuk skrip Anda. Setidaknya jika hanya terhubung ke satu host.
ssh-agent
menyimpan kunci saya sampai saya reboot (yang mungkin beberapa minggu).
ssh-agent
agnostik dengan jenis sesi yang menjadi bagiannya (misalnya sesi tty, sesi X11, atau yang lainnya). Satu hal yang ingin saya katakan jika skrip otomatis Anda mungkin tidak boleh tergantung pada kunci yang dimuat dalam agen Anda. Mereka mungkin masing-masing harus memiliki kunci pribadi masing-masing, yang diotorisasi melalui perintah paksa pada server yang sesuai untuk menjalankan hanya perintah jarak jauh khusus yang harus dijalankan setiap skrip. Tentu saja itu akan membuat Anda menjalankan itu dari cron dll ...