Jeśli chcecie mnie wesprzeć to zapraszam do kupna mojego poradnika "Jakim jesteś Makiem?".

Automatyzowanie FTP pod OS X (cz. 1)

· Wojtek Pietrusiewicz · 10 komentarzy

Tekstowy klient FTP jest wbudowany w OS X, podobnie jak w wielu innych systemach operacyjnych. Dzisiaj wygodniej korzysta się w wielu innych aplikacji — osobiście zdecydowałem się na co dzień do korzystania z Cyberducka. Miałem jednak potrzebę automatyzacji pewnych czynności, a do tego znacznie wygodniejszy jest klient terminalowy.

Automatyzacja logowania

Jeśli często logujemy się na pewny servery, to znacznie wygodniej jest otworzyć plik .netrc, w którym będziemy przetrzymywać nasze loginy i hasła. Dzięki temu unikniemy konieczności podawania ich za każdym razem. Plik .netrc żyje w naszym domowym katalogu pod adresem ~/. Aby stworzyć nowy, należy w Terminalu wpisać:

  • touch .netrc

Kropka oznacza, że plik jest ukryty. Aby go zobaczyć, wystarczy wpisać komendę (więcej o komendzie ls znajdziecie tutaj):

  • ls -la

Jeśli chcemy zdefiniować nowe servery, to napierw uruchamiamy edytor tekstowy (również w terminalu) za pomocą komendy — osobiście preferuję Pico, ale możecie skorzystać z innych:

  • pico .netrc

Następnie do pliku dodajemy następujące linijki tekstu:

  • machine adres.ftp.servera
  • login mójlogin
  • password mojehasło

Zmieniamy teraz jeszcze prawa dostępu do pliku, abyśmy tylko my mogli go odczytać:

  • chmod 600 .netrc

Oczywiście zastępujcie “adres.ftp.servera”, “mójlogin” oraz “mojehasło” odpowiednimi wartościami. Aby wyjść z Pico i zapisać plik należy wpisać:

  • ⌃X (Control-X)
  • Y (Yes)

Teraz możecie się zalogować na server FTP zwyczajnie za pomocą komendy:

  • ftp adres.ftp.servera

Ciąg dalszy nastąpi …

Chcesz zwrócić mi na coś uwagę lub skomentować? Zapraszam na @morid1n lub na forum.

  • Michał Hyży

    To teraz poproszę o rozwinięcie tego tematu i informację czy jest taka możliwość aby za pomocą systemu lub programu połączyć się z ftp i nastepnie taki ftp zamontować jako dysk który pojawi się w finderze.

  • Jak przechowujecie hasła czystym tekstem w plikach, to polecam od ręki zrobić:
    chmod 600

    Wtedy żaden inny użytkownik komputera nie będzie mógł tego pliku odczytać bez wcześniejszego zalogowania się na Wasze konto.

  • Transmit ma funkcję montowania jako dysk

  • Adrian Bazera

    też jestem zainteresowany

  • Można podobie zadziałać z telnetem? 

  • Zapomniałem dodać do przepisu, pomimo że tak mam zrobione. :) Dzięki.

  • Łukasz Przyłęcki

    Raz: Janusz ma rację ;);
    Dwa: bez zmiany praw nie można się połączyć, nie zostaniemy zalogowani. Warto Wojtu dorzucić tę informację do przepisu ;).

  • Możesz spróbować wykorzystać coś takiego: http://sourceforge.net/projects/sendcommand/

    Ja jednak bardzo odradzam stosowanie obecnie telneta, ponieważ hasło jak i cała transmisja nie jest w żaden sposób szyfrowana i ktoś z odpalonym dsniffem lub innym snifferem może bez problemu podsłuchać całą komunikację.

    Zamiast telneta użyj ssh, które jest dużo bezpieczniejsze i oferuje znacznie więcej (jak choćby bezpieczny, szyfrowany transfer plików), niż telnet. Umożliwia też bezpieczne logowanie za pomocą kluczy kryptograficznych (bez podawania każdorazowo hasła).

  • Pingback: Automatyzowanie FTP pod OS X (cz. 2) | Makowe ABC()

  • Paweł Kleka

    Nie działa dla połączeń sftp.