Mam serwer AWS ubuntu 10.xx. Z powodu problemu technicznego korzystam z Git 1.7.4 zamiast najnowszej (więc nie mogę użyć pomocnika poświadczeń).
Na tym serwerze ma skrypt powłoki wywołujący git pull.
Mam rsa na tym serwerze. więc jeśli wejdę do tego serwera i spróbuję pobrać, poprosi o hasło. To dobrze i nie ma w tym momencie problemu.
Jednak jeśli wywołam ten skrypt powłoki dla git pull zdalnie, zakończy się niepowodzeniem. ponieważ nie ma monitu o hasło, więc się nie powiedzie. Otrzymam komunikat „Odmowa zezwolenia (publickey)”.
Więc co powinienem zrobić?
Odpowiedzi:
1 dla odpowiedzi № 1Możesz użyć ssh-agent na serwerze, aby załadować klucz prywatny i wprowadzić hasło raz. Dzięki temu klucz zostanie załadowany, dopóki ssh-agent nie zostanie zabity, na przykład podczas ponownego uruchamiania.
Możesz również użyć Przekazywanie agenta SSH jak sugeruje @kostix.
Ponadto, czy skrypt powłoki musi być uruchamiany bez nadzoru? Jeśli nie, używam i kocham tkanina dla zadań takich jak ten, ponieważ przekaże wszelkie zapytania wejściowe ze zdalnego serwera na komputer lokalny, oprócz wszystkich innych rodzajów niesamowitości podczas automatyzacji zadań na zdalnych serwerach.