Niedawno założyłem nowy serwer z Ubuntu karmic 9.10, a kiedy utworzyłem swój katalog domowy, postanowiłem go zaszyfrować. Teraz, po załadowaniu mojego pliku autoryzowanego_kluczy do ~ / .ssh, nie jest rozpoznawany, ponieważ mój katalog domowy nie jest odszyfrowywany aż do momentu zalogowania. Czy istnieje sposób, aby klucze SSH działały z zaszyfrowanymi katalogami domowymi w systemie Ubuntu?
ssh
disk-encryption
Josh
źródło
źródło
ubuntu
tag, ale nie sądzę, że ten problem dotyczy konkretnego systemu operacyjnego.authorized_keys
nie jest jeszcze dostępne). Jeśli uruchomię inne połączenie ssh, uwierzytelnianie klucza działa.Odpowiedzi:
Zmień tę linię w pliku sshd_config:
A następnie przenieś plik uprawniony do kluczy / etc / ssh / twoja-nazwa użytkownika / uprawnione_ klucze
Ten post dokumentuje inny sposób rozwiązania tego problemu.
źródło
To rozwiązanie zostało zainspirowane tym postem . IMHO jest znacznie lepsze niż modyfikowanie / etc / ssh / sshd_config, ponieważ w ogóle nie wymaga dostępu do roota.
źródło
authorized_keys
w/home/**.ecryptfs**/$USER
bez szyfrowania i link do niej z domu zostały zaszyfrowane, a także swojej niezaszyfrowanej domu. Nowy.profile
w twoim niezaszyfrowanym domu powinien zamontować zaszyfrowany katalog domowy, „cd” w nim i źródło prawdziwego.profile
.ecryptfs-mount-private
pyta o hasło użytkownika za każdym razem po udanym logowaniu za pomocą kluczy publicznych, chyba że jesteś zalogowany do GUI. Moja edycja zastępuje kilka echa tutaj dokumentem, jest mniej powtarzalny w pisaniu, nie daj się zwieść.Właśnie spędziłem trochę czasu na tym zadaniu, a odpowiedź jest taka, że jest to zasadniczo niemożliwe. Możliwe jest skonfigurowanie logowania bez uwierzytelniania za pomocą klucza publicznego za pomocą ssh, więc nie musisz wpisywać hasła, aby się zalogować , ale to cię nigdzie nie prowadzi, ponieważ twój katalog domowy jest nadal zaszyfrowany.
Prostym faktem jest to, że zaszyfrowany katalog domowy jest szyfrowany hasłem *, więc jedynym sposobem na jego odszyfrowanie jest hasło.
A jeśli myślisz, że teoretycznie powinno być możliwe użycie klucza ssh do odszyfrowania hasła montowania po zalogowaniu, to nie zadziała, ponieważ twój klucz prywatny nigdy nie jest wysyłany na serwer.
Zasadniczo, jeśli chcesz szyfrować, musisz użyć haseł. Z tego samego powodu zaszyfrowane katalogi domowe są niezgodne z logowaniem odcisków palców.
* Wiem, że jest to bardziej skomplikowane niż pojedyncze hasło, ale na razie zachowajmy prostotę.
źródło
Jeśli nie lubisz modyfikować domyślnej konfiguracji (nie lubię, moje pliki są tam, gdzie ich oczekuję), możesz rzucić okiem na mój post, jak to zrobić:
W skrócie. Umieszczasz klucze w zaszyfrowanej wersji użytkownika
~/.ssh
i łączysz zaszyfrowaną wersję z~/.ssh
drugą. W ten sposób zawsze tam jest.Dla leniwych ludzi takich jak ja, oto skrypt, który zrobi to za Ciebie. Po prostu uruchom go jako zwykły użytkownik. Nie wymaga dostępu do uprawnień roota ani uprawnień i nie wymaga zmian konfiguracji serwera. Czyste, normalne ustawienia użytkownika.
źródło
Możesz użyć bardziej bezpiecznego klucza publicznego, aby się zalogować, a następnie wykonaj następujące czynności, aby zamontować katalog po wpisaniu hasła:
Przeczytaj
~/README.txt
plik po zalogowaniu przez SSH, okaże się, że nie masz swoich plików, ponieważ zaszyfrowany katalog nie jest podłączony.I tak nie powinieneś używać kluczy publicznych bez hasła do logowania. Spójrz na ssh-agent dla lepszego sposobu.
źródło