Za każdym razem, gdy tkanina działa, prosi o podanie hasła roota, może zostać wysłana na tej samej stronie w przypadku automatycznych propozycji.hasło do tkaniny
fab staging test
Za każdym razem, gdy tkanina działa, prosi o podanie hasła roota, może zostać wysłana na tej samej stronie w przypadku automatycznych propozycji.hasło do tkaniny
fab staging test
fab -h
pokaże wszystkie opcje, można też je here czytać.
W szczególności, i podać,
-p hasło, --password = hasło
Zestawy env.password do danego łańcucha; zostanie użyty jako domyślne hasło podczas nawiązywania połączeń SSH lub wywoływania programu sudo.
Wiem, że pytasz o hasło, ale czy nie lepiej skonfigurować system, aby można było wykonywać tkaniny (np. SSH) bez hasła?
W tym celu na komputerze lokalnym zrobić:
ssh-keygen
i zgadza się ze wszystkimi domyślne (jeśli masz żadnych powodów zrobić inaczej)cat ~/.ssh/id_rsa.pub
i skopiować ten kluczna komputerze zdalnym :
mkdir ~/.ssh && chmod 700 ~/.ssh
touch ~/.ssh/authorized_keys2 && chmod 600 ~/.ssh/authorized_keys2
authorized_keys2
Od teraz Twój zdalnej maszynie „ufa” lokalnym komputerze i pozwala zalogowaniu ją bez hasła. Poręczny.
Musiałem uruchomić 'chmod 700 ~/.ssh' aby uruchomić go do pracy –
użycie ssh-copy-id może być szybsze: ' 'ssh-copy-id'' Użycie:/usr/bin/ssh-copy -id [-i [plik_identyfikatora]] [użytkownik @] maszyna – HVNSweeting
+1 dla ssh-copy-id. Schludny! – dennis
Jednym ze sposobów, aby to zrobić bez wprowadzania hasła na liście procesów (polecenia pojawiają się w ps aux) jest umieszczenie go w fabfile.py tak:
from fabric.context_managers import env
env.password = 'PASSWORD'
Put, że zanim cokolwiek, że idzie do zdalnego systemu i nie będzie już pytać o hasło.
Po prostu notatka, generuje to błąd w najnowszych wersjach Fabric 1.5.3 i Paramiko 1.9.0. –
Po prostu usuń 'from fabric import env' – Crazenezz
Nowy pakiet to context_managers,' from fabric.context_managers import env' –
Można również ustawić hasła dla każdego hosta. To nie było dla mnie oczywiste, więc o to idzie dla każdego, kto szuka w ten sposób:
from fabric import env
env.hosts = ['[email protected]:port1', '[email protected]']
env.passwords = {'[email protected]:port1': 'password1', '[email protected]': 'password2'}
Fabric bufory stosowane haseł w słowniku env.passwords. Ustawia to pamięć podręczną, używając pełnego ciągu hostów jako klucza tego słownika i hasła jako wartości. Jeśli słownik zostanie ustawiony samodzielnie przed wykonaniem dowolnego zadania, Fabric nie będzie go w ogóle żądać.
wielkie dzięki za tę odpowiedź – qre0ct
Wystarczy dodać, aby każdy, kto przyjeżdża tutaj z poziomu wyszukiwania, może podać opcję -I
, gdy uruchomi fab, żądając podania hasła domyślnego.W ten sposób nie będą widoczne w historii poleceń
przykład:
$ fab -I my_task
Initial value for env.password:
uznałbym bardzo starannie przed przyjęciem ** ** że każda strategia opierała przechowywanie haseł w postaci zwykłego tekstu - jako vars środowiska, zapisane w skrypty, nawet wpisane na linii poleceń - tak jak nienawidzę zaprzeczać takiemu luminarzowi jak AM (naprawdę, człowieku, dałeś mi ** wiele ** informacji na przestrzeni lat) - żyje w twojej historii poleceń i stwarza ryzyko bezpieczeństwa. – gomad