PapaSmerf 497 Zgłoś post Napisano Październik 5, 2013 Chłopaki,jest sobie jeden serwer, na którym śmiga sobie tak naprawdę tylko jedna aplikacja, będąca częścią większego systemu.Logowanie po SSH dostępne tylko za pomocą klucza, klucz ma ustawione hasło. Problem w tym, że zadania cron uruchamiają skrypty PHP/Python, które mają za zadania sprawdzanie prywatnych repozytoriów Github/Bitbucket, łączą się poprzez SSH.Zainstalowałem Keychain, skonfugurowałem zgodnie z tym poradnikiem. Wszystko działa dobrze. Baa, nawet rozumiem zasadę działania Keychain'a. Pojawił się tylko jeden, mały, acz dosyć istotny problem - reboot. Po restarcie systemu, Keychain oczywiście... pyta o hasło dla klucza prywatnego, co raczej nie jest tym co chciałem osiągnąć. W pliku .bash_profile mam: eval `keychain --eval --agents ssh id_rsa` source $HOME/.keychain/$HOSTNAME-sh wcześniej wołałem Keychani'a ciutkę inaczej, ale też bez rezultatu: keychain --clear $HOME/.ssh/id_rsa source $HOME/.keychain/$HOSTNAME-sh Teraz zestaw pytań: - czy Keychain powinien tak się zachowywać? Jeśli nie, jak naprawić? - czy znacie inne metody na zapamiętanie hasła do klucza prywatnego, a nie zmniejszające w sposób drastyczny bezpieczeństwa? Pozdrawiam, A Udostępnij ten post Link to postu Udostępnij na innych stronach
kafi 2425 Zgłoś post Napisano Październik 5, 2013 (edytowany) Jak chcesz zapamiętywać na serwerze passphrase do klucza prywatnego... ... to nie kłopocz się. Odbezpiecz klucz i tyle. To tak, jak byś w portfelu trzymał kartę kredytową i obok do niej PIN. Możesz co prawda zapisać ten PIN w formie "zaszyfrowanej" - np. przesunięty o jedną cyfrę. No ale wtedy i tak jak chcesz komuś innemu umożliwić skorzystanie z karty, to musisz to powiedzieć. Tak samo tutaj - możesz umieścić klucz w szyfrowanej bazie. Wtedy nawet, jeśli ktoś skopiuje plik z bazą, to haseł nie wydobędzie. Ale jeśli serwer sam z siebie będzie mógł odszyfrować bazę haseł, to oznacza, że dowolny inny napastnik także, wykonując te same kroki co serwer w trakcie startu Edytowano Październik 5, 2013 przez kafi (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
PapaSmerf 497 Zgłoś post Napisano Październik 5, 2013 Tak samo tutaj - możesz umieścić klucz w szyfrowanej bazie. Wtedy nawet, jeśli ktoś skopiuje plik z bazą, to haseł nie wydobędzie. kafi, dzięki za odpowiedź Zdaję sobie sprawę, z tego, jak to z założenia działa, tylko wiesz, logowanie się codziennie o 24.00, żeby podać hasło do klucza nie jest zbyt wygodnym rozwiązaniem, nie chcę robić za manualnego crona Jakieś pomysły/sugestie jak ewentualnie taki problem obejść? Udostępnij ten post Link to postu Udostępnij na innych stronach
kafi 2425 Zgłoś post Napisano Październik 5, 2013 A co ty tak właściwie chcesz zrobić? Automatyczny deploy aplikacji? Wtedy to lepiej hooki udostępniane przez githuba wykorzystać chyba. W każdym razie - rozważ takie coś. Załóżmy, że obecny user nazywa się staryUser. Kreujesz sobie nowego użytkownika, ustawiasz mu klucz RSA, ale bez passphrase. Konfigurujesz sobie sudo, które umożliwi ci wykonywanie poleceń przez tylko staryUser. Dodatkowo ograniczasz polecenia dostępne przez sudo do np. tylko git. W wyniku masz użytkownika staryUser który ma pełne uprawnienia, i masz użytkownika nowyUser który może w sposób ograniczony wykonywać operacje staregoUsera. Troszkę na pierwszy rzut oka zagmatwane, ale wbrew pozorom bardzo proste Udostępnij ten post Link to postu Udostępnij na innych stronach
PapaSmerf 497 Zgłoś post Napisano Październik 5, 2013 A co ty tak właściwie chcesz zrobić? Automatyczny deploy aplikacji? Wtedy to lepiej hooki udostępniane przez githuba wykorzystać chyba. W każdym razie - rozważ takie coś. Załóżmy, że obecny user nazywa się staryUser. Kreujesz sobie nowego użytkownika, ustawiasz mu klucz RSA, ale bez passphrase. Konfigurujesz sobie sudo, które umożliwi ci wykonywanie poleceń przez tylko staryUser. Dodatkowo ograniczasz polecenia dostępne przez sudo do np. tylko git. W wyniku masz użytkownika staryUser który ma pełne uprawnienia, i masz użytkownika nowyUser który może w sposób ograniczony wykonywać operacje staregoUsera. Troszkę na pierwszy rzut oka zagmatwane, ale wbrew pozorom bardzo proste Nie, nie deploy Raczej o klonowanie określonych repozytoriów Git z Githuba i Butbucketa. Całkiem ciekawy pomysł, pobawię się jutro. Dzięki za odpowiedź. Udostępnij ten post Link to postu Udostępnij na innych stronach