W moim przypadku chcę zrobić kasę SVN:
svn co svn+ssh://10.106.191.164/home/svn/shproject
Chcę jednak mieć hasło w tej jednej linii, aby się nie wyświetlało.
linux
ssh
svn
authentication
Alex
źródło
źródło
Odpowiedzi:
źródło
sshpass
(które działa dla mnie).Biorąc pod uwagę, że używasz SSH, preferowanym sposobem jest użycie klucza publicznego do autoryzacji, co całkowicie eliminuje potrzebę hasła.
Przewodnik dotyczący tworzenia i instalowania kluczy można znaleźć tutaj .
źródło
Nieskończenie lepiej jest wygenerować parę kluczy. Jako lokalny użytkownik:
$ ssh-keygen -t rsa
(zaakceptuj wszystkie wartości domyślne)
Następnie weź zawartość .ssh / id_rsa.pub i dodaj ją na zdalnym serwerze do .ssh / Author_keys. Upewnij się, że wszystko zostało wklejone do tej samej linii. Upewnij się także, że uprawnienia do katalogu .ssh wynoszą 600.
Powinieneś być w stanie ssh bez pytania o hasło.
źródło
Zamiast używać hasła, możesz rzucić okiem na parę kluczy prywatny / publiczny i użyć ssh. większość dystrybucji linuksa zawiera łatwe w użyciu polecenia, aby stworzyć taką parę. wymagałoby to jednak dostępu po stronie serwera (jeden raz), aby zdeponować plik klucza publicznego w pliku ~ / .ssh / autoryzowane_kluczy użytkownika.
źródło
Cóż, ja nie chcę, aby wprowadzić hasło - Nie lubię polegać na moim hasło zapisane jest gdzieś; chcę jednak wprowadzić go raz na zestaw poleceń svn + ssh; i często po prostu chcesz to zrobić
svn checkout
- i tak i tak musisz wprowadzić mnóstwo haseł. W takim przypadku chciałbym wpisać hasło tylko raz.Tak więc tylko odpowiedzi @Boinst i @Marius były istotne dla mojego przypadku użycia; niestety nie pomogły, ponieważ nie mogłem ich zmusić do pracy. Zastanawiam się, czy sami autorzy postów wypróbowali polecenia przed ich opublikowaniem, ponieważ teraz nie wyobrażam sobie, jak mogłyby one działać - oto test, który zrobiłem lokalnie na moim Ubuntu 10.04 PC (i łamię się przy pomocy Ctrl-C, za każdym razem, gdy widzę pojawia się monit o hasło):
Jeśli chodzi
--username/--password
osvn
wiersz poleceń - to nie ma znaczeniasvn+ssh
, ponieważssh
pyta, a niesvn
:svn - Subversion ignoruje opcje „--password” i „--username” - Przepełnienie stosu
Dodatkowo, jak pokazuje dziennik,
ssh
sam nie akceptuje znaku „username:password@...
” w adresie URL - i też niesvn
. Dlaczego dopuszczalne jest używanie tylko nazwy użytkownika w adresie URL wsvn
, prawdopodobnie wyjaśniono w~/.subversion/config
:Zauważ, że nic nie zostało powiedziane
<user>:<pass>@<hostname>
.Teraz, dzięki stronie Subversion nad SVN + SSH na Debianie , w końcu zdałem sobie sprawę, że
SVN_SSH
w~/.subversion/config
tunelu ssh używana jest zmienna środowiskowa ; i to wreszcie otwiera możliwość użycia programusshpass
do obsługi hasła w taki sposób:Przynajmniej cieszę się, że w końcu znalazłem rozwiązanie, które działa dla mnie - mam nadzieję, że pomoże to również komuś innemu,
zdrowie!
źródło
źródło
Możesz także użyć podanej nazwy użytkownika i hasła przełączników .
Patrz Uwierzytelnianie z wiersza poleceń .
źródło
Myślę, że najlepszym sposobem na uzyskanie tego jest użycie sshpass (w Linuksie).
Zainstaluj sshpass
Ustaw tymczasową zmienną środowiskową
Edytuj plik konfiguracyjny svn
Na koniec dodaj komentarz
sshpass -e
do wiersza ssh przedssh
poleceniemźródło