Baru-baru ini saya membuat server baru dengan Ubuntu karmic 9.10, dan ketika saya membuat direktori home saya memilih untuk membuatnya terenkripsi. Sekarang, setelah memuat file otor_keys saya ke ~ / .ssh, itu tidak dikenali karena direktori home saya tidak didekripsi sampai setelah saya login. Apakah ada cara untuk membuat kunci SSH bekerja dengan direktori home terenkripsi di bawah Ubuntu?
ssh
disk-encryption
Josh
sumber
sumber
ubuntu
tag tetapi saya tidak berpikir masalah ini khusus untuk OS tertentu.authorized_keys
belum dapat diakses). Jika saya meluncurkan koneksi ssh lain, otentikasi kunci kemudian berfungsi.Jawaban:
Ubah baris ini di file sshd_config Anda:
Dan kemudian pindahkan file otor_keys Anda ke / etc / ssh / your-username / otor_keys
Posting ini mendokumentasikan cara lain untuk menyelesaikan ini.
sumber
Solusi ini terinspirasi oleh pos ini . IMHO itu jauh lebih baik daripada memodifikasi / etc / ssh / sshd_config Anda karena tidak memerlukan akses root sama sekali.
sumber
authorized_keys
di/home/**.ecryptfs**/$USER
tanpa enkripsi dan link dari Anda dienkripsi rumah serta rumah tidak terenkripsi Anda. Yang baru.profile
di rumah Anda yang tidak terenkripsi harus memasang direktori rumah terenkripsi Anda, "cd" ke dalamnya dan sumber asli Anda.profile
.ecryptfs-mount-private
meminta kata sandi pengguna setiap kali setelah berhasil masuk melalui kunci publik kecuali Anda masuk ke GUI. Hasil edit saya menggantikan beberapa gema dengan dokumen di sini, ini kurang berulang untuk diketik, jangan bingung dengan itu.Saya hanya menghabiskan waktu untuk bermain-main dengan ini, dan jawabannya adalah bahwa hal itu sangat tidak mungkin. Hal ini dimungkinkan untuk mengatur memasukkan password login public-key-dikonfirmasi melalui ssh, sehingga Anda tidak perlu mengetikkan password Anda untuk log in , tapi itu tidak membuat Anda di mana saja, karena direktori home Anda masih dienkripsi.
Fakta sederhananya adalah direktori home terenkripsi Anda dienkripsi dengan kata sandi *, jadi satu-satunya cara untuk mendekripsi adalah dengan kata sandi itu.
Dan jika Anda berpikir bahwa secara teori itu mungkin untuk menggunakan kunci ssh Anda untuk mendekripsi passphrase mount saat login, itu tidak akan berhasil karena kunci pribadi Anda tidak pernah dikirim ke server sama sekali.
Jadi pada dasarnya, jika Anda ingin enkripsi, Anda harus menggunakan kata sandi. Direktori rumah terenkripsi tidak kompatibel dengan login sidik jari untuk alasan yang sama.
* Saya tahu ini lebih rumit daripada kata sandi tunggal, tetapi mari kita buat sederhana untuk saat ini.
sumber
Jika Anda tidak suka mengubah pengaturan default (saya tidak suka, saya suka file saya berada di tempat yang saya harapkan) maka Anda mungkin ingin melihat posting saya tentang cara melakukan itu:
Pendeknya. Anda meletakkan kunci Anda di versi terenkripsi dari pengguna Anda
~/.ssh
dan symlink ke versi terenkripsi dari~/.ssh
yang lain. Dengan cara ini selalu ada di sana.Untuk orang-orang malas seperti saya, berikut ini skrip untuk melakukannya untuk Anda. Jalankan saja sebagai pengguna biasa. Tidak diperlukan akses root atau izin dan tidak ada perubahan konfigurasi server yang diperlukan. Pengaturan pengguna normal murni.
sumber
Anda dapat menggunakan kunci publik yang lebih aman untuk masuk, dan kemudian jalankan yang berikut untuk memasang direktori Anda setelah mengetik kata sandi Anda:
Baca
~/README.txt
file setelah masuk melalui SSH, Anda akan menemukan bahwa Anda tidak memiliki file Anda karena direktori terenkripsi tidak di-mount.Anda seharusnya tidak menggunakan kunci publik tanpa kata sandi untuk login. Lihatlah ssh-agent untuk cara yang lebih baik.
sumber