Nie można połączyć się z SFTP po zmianie uprawnień do pliku / home folder

1

Mamy instancję ubuntu w Amazon i z pewnych powodów zmieniliśmy uprawnienia folderu / home na 777. Polecenie: sudo chmod -R 777 / home

a teraz nie możemy połączyć się z SFTP lub przez kit. Więc pomóż nam, jak rozwiązać ten problem jak najszybciej.

Jacek
źródło
Czy korzystasz z uwierzytelniania kluczem publicznym? Serwer OpenSSH wymaga, aby pliki w ~/.ssh/katalogu miały chmodmaskę 600.
GiantTree
1
Jeśli spróbujesz ssh -vv username@host, możesz zobaczyć więcej informacji na temat tego, dlaczego nie możesz się połączyć, lub przynajmniej, jak daleko w procesie nie powiedzie się. Otworzyłeś uprawnienia do / home na świat, więc z wyjątkiem sytuacji takich jak komentarze GiantTree, nie powinno to dotyczyć uprawnień.
Xalorous
@Xalorous yes, będzie to związane z zezwoleniem, ale w odwrotny sposób niż myślisz. Jeśli twój ~/.ssh/authorized_keysplik jest zapisywalny przez innych, sshd uważa go za potencjalnie zagrożony i niezaufany ... i ignoruje go.
Michael - sqlbot

Odpowiedzi:

2

Ponieważ AWS nie ma dostępnej interaktywnej powłoki, potrzebujesz innego sposobu na rozwiązanie problemu. Użyłem tej metody w przeszłości i to zadziałało dla mnie:

  • Odłącz dysk swojej instancji (nazwijmy to instancją A)
  • Utwórz nową instancję (instancja B)
  • Połącz dysk instancji A jako dodatkowy dysk w instancji B
  • Zaloguj się do instancji B, podłącz dysk
  • Napraw uprawnienia do katalogu domowego, bezpieczne wartości to:

    chmod 755 /$mountpoint/home
    cd /$mountpoint/home
    find -type d | xargs chmod 750
    find -type f | xargs chmod 640
    find . -name '.ssh' -exec chmod 700 {} \;
    find . -name 'authorized_keys' -exec chmod 600 {} \;
    
  • Odłącz dysk

  • Podłącz go ponownie do instancji A
  • Bagażnik
mtak
źródło
Ze względów bezpieczeństwa spowodowałbym, że chmod 750 * byłby rekurencyjny, aby pozbyć się tych światowych bitów zapisywalnych na wszystkich plikach wewnątrz / home. chmod 750 * -R
Xalorous
1
Dobry chwyt, ale to sprawi, że każdy plik będzie wykonywalny w tym procesie? W takim przypadku utwórz wszystkie katalogi 750 i wszystkie pliki 640. Zaktualizowałem swoją odpowiedź.
mtak
Słuszna uwaga. Chociaż w tym przypadku byłoby to „opuszczenie” każdego pliku wykonywalnego, ponieważ OP już wszystko ustawił 777.
Xalorous
Nie leci na ciebie, kolego!
mtak