Z warsztatu kodera: po co te hasła?

Więc używasz systemu kontroli wersji, wysyłasz zmiany na serwer, pobierasz poprawki, inne branche, a wszystko to z podaniem hasła. I wreszcie trafia Cię szlag. Pomimo tego, że wpisanie hasła (po 10000 prób) zajmuje Ci mniej niż 1s jest to zmarnowana sekunda. Skoro używasz vcs czy dvcs to znaczy, że szanujesz swój czas a wpisywanie hasła w takich ilościach jest nieekonomiczne i należy to zmienić.

Jest parę sposobów aby to osiągnąć. Z powodów bezpieczeństwa pominę jeden który polega na umieszczeniu hasła jawnym tekstem w URlu. Nie uznaję tego nawet jako ostatecznej deski ratunku, no może gdybym miał problemy z nadgarstkami i chciał zmniejszyć mój przebieg na klawiaturze. Przejdźmy do sedna.

  • ssh
  • To naprawdę proste, wymieniamy się po prostu kluczami z serwerem gdzie leży nasz cenny kod. Pierwsze czego potrzeba to para kluczy publiczny/prywatny. Można je wygenerować poleceniem

    ssh-keygen -t rsa

    Następnie kod publiczny należy dołączyć do pliku authorized_keys na serwerze. Napisałem „dołączyć” bo mogą tam być już inne klucze.

    cat ~/.ssh/id_rsa.pub | ssh login@serwer 'cat - >> ~/.ssh/authorized_keys'

    Po tej operacji wystarczy sprawdzić czy operacja się udała i zalogować się

    ssh login@serwer
  • sshfs
  • Kolejny sposób to zamontowanie zdalnego folderu u siebie, można to osiągnąć poprzez sshfs. Nie wygląda jakby ten pakiet był instalowany domyślnie, a dokładniej to ja go nie miałem. Znajduje się on w paczce o nazwie fuse-sshfs. Po instalacji wystarczy zamontować zdalny zasób poleceniem.

    sshfs -oworkaround=rename,follow_symlinks login@serwer:/zdalna/sciezka/ /lokalna/sciezka

    Użyłem follow_symlinks na wpadek gdyby w zamontowanym folderze były jakieś linki, nie powinno się to zdarzyć jeśli linkujesz do kodu, ale na wszelki wypadek. Ta metoda pyta o hasło tylko raz. Następnie można już używać bzr na tym zamontowanym zasobie.

    bzr pull /lokalna/sciezka
    bzr push /lokalna/sciezka
    

    Odmontowanie zasobu nastąpi po wykonaniu

    fusermount -u /sciezka/lokalna
    

    lub

    umount /sciezka/lokalna
    

Mam nadzieję, że ułatwi to życie tym, którzy mają po dziurki w nosie wpisywania swojego hasła.
P.S.
Tak, trafił mnie szlag więc napisałem żeby innym oszczędzić nerwów.

4 Responses to “Z warsztatu kodera: po co te hasła?”


Leave a Reply




Performance Optimization WordPress Plugins by W3 EDGE