Wspomniałeś już o ssh, vim i wget, które są niezbędne i doskonałe. Niektóre dodatkowe narzędzia, które mogą ułatwić życie:
1. GNU Screen / byobu
„GNU Screen to darmowy multiplekser terminali, który pozwala użytkownikowi na dostęp do wielu oddzielnych sesji terminali w oknie pojedynczego terminala lub sesji terminalu zdalnego. Jest przydatny do obsługi wielu programów z wiersza poleceń oraz do oddzielania programów od powłoki, która się uruchomiła program." (Ze strony GNU_Screen na wikipedii)
Główną zaletą jest to, że możesz mieć jeden lub kilka wirtualnych terminali, które są dokładnie w takim samym stanie, w jakim je opuściłeś po powrocie (tj. Ponowne zalogowanie przez ssh). Jest to również dobre, gdy połączenie zostanie z jakiegoś powodu zerwane.
Ekran działa niezależnie od oprogramowania używanego do łączenia się z urządzeniem (działa na serwerze), więc dobrze łączy się z kitem lub większością innych programów terminalowych.
W tym artykule pokazano kilka ciekawych rzeczy, które możesz z tym zrobić: http://www.pastacode.de/extending-gnu-screen-adding-a-taskbar/en/
Dobrą alternatywą jest byobu, która jest ładnie wstępnie skonfigurowana w niektórych dystrybucjach: http://byobu.co/
2. Dowódca północy
Graficzne narzędzie do przeglądania oparte na konsoli do przeglądania plików i katalogów oraz manipulowania nimi.
Może także wykonywać bezpieczne zdalne przelewy. Istnieje wbudowany klient FISH i FTP.
Oznacza to, że masz 2 okna tekstowe obok siebie w konsoli wiersza poleceń, a jeden pokazuje zdalne okno, a drugie gdziekolwiek się podłączysz (którym może być również system lokalny). Następnie możesz nawigować po obu systemach plików obok siebie i zaznacz lub zbadaj poszczególne pliki lub drzewka plików, a także skopiuj lub przenieś je między lokalizacjami. FISH jest bezpieczny, FTP nie. Bardzo mocny i prosty dla początkujących.
3. rsync
Do szybkiego, bezpiecznego i niezawodnego przesyłania plików i synchronizacji między różnymi lokalizacjami
4. VCS
Wykorzystanie rozproszonego systemu kontroli wersji, takiego jak bazar, mercurial lub git, do aktualizacji kodu. Github lub Bitbucket oferują komercyjny hosting kodów, ale nie jest to konieczne, możesz również efektywnie z niego korzystać na własnych komputerach.
Joseph Kern: czy możesz wyjaśnić, jak dokładnie używasz git do zdalnej organizacji konfiguracji?
5. Klienci terminalowi
W systemach uniksowych są już na pokładzie, w systemie Windows można użyć Putty, Tera Term, Mind Term lub Pandora. Lub wykonaj instalację cygwin i ssh z okien terminala cygwin do zdalnych urządzeń (co ma więcej zalet, ale jest to pytanie o to, co wolisz).
6. Tunelowanie i spedycja portów
Pomocne może być bezpieczne przekierowanie niektórych portów na komputer lokalny. Na przykład możesz przekazać port mysql TCP 3306 lub postgres TCP 5432 i zainstalować lokalnie jakieś narzędzie do administrowania bazą danych.
Możesz budować tunele z maszyn Windwos z kitem (lub linią poleceń opartą na jego młodszym bracie), a cygwin i Mindterm mogą również przekierowywać porty. Jeśli jesteś lokalnie na maszynie uniksowej, możesz użyć ssh odr plink, aby utworzyć takie tunelowanie.
Aby stworzyć bardziej stabilne i trwałe tunelowanie dla różnych portów, polecam OpenVPN. Metoda tunelowania „klucza wstępnego” z jednego punktu do drugiego nie jest tak trudna do zainstalowania.
7. Posiadaj lokalny system uniksowy
Jeśli twój komputer lokalny to komputer Mac, masz go już, możesz otworzyć lokalną powłokę. Gdy stacja robocza jest oparta na systemie Windows, pomocne może być utworzenie lokalnego serwera typu uniksowego, który znajduje się w tej samej sieci lokalnej. Może to być inna maszyna w innym pomieszczeniu podłączonym do tego samego routera lub przełącznika. Lub jeśli chcesz tylko jedną maszynę, możesz zainstalować bezpłatny serwer vmware i stworzyć maszynę wirtualną, najlepiej ten sam system operacyjny, co maszyna zdalna. Zainstaluj na nim serwer samby i możesz „używać sieci” udziałów samby z pulpitu.
Jeśli jesteś serwerem ssh na serwerze lokalnym i otworzysz dla niego port 22 na routerze, możesz ssh w systemie lokalnym, gdy jesteś na zewnątrz.
Możesz budować tunele na zdalnych komputerach lub przesyłać i synchronizować pliki i całe drzewa plików za pomocą rsync. Możesz go użyć do testowania, do VSC, do rozwoju lokalnego, jako lokalny serwer WWW, do celów szkoleniowych.
Możesz pobierać kopie zapasowe ze zdalnych komputerów. Możesz tworzyć lokalne zadania cron, które automatycznie wykonują kopie zapasowe (np. Bazy danych, które chcesz regularnie zapisywać lokalnie)
8. X zdalny GUI
Jeśli pracujesz fizycznie w systemie Linux jak system, możliwe jest również uruchamianie aplikacji GUI na serwerach Linux, które rysują GUI na twoim komputerze lokalnym. Może to być graficzne narzędzie do porównywania plików lub prawie wszystko, co chcesz.
Chociaż nie jest to bardzo powszechne iw niektórych przypadkach nie jest konieczne używanie oprogramowania GUI do administrowania Linuksem, w niektórych przypadkach może okazać się przydatne, jeśli możesz.
Na zdalnej maszynie upewnij się, że w / etc / ssh / sshd_config ta linia istnieje:
X11Forwarding Yes
Uruchom ponownie serwer ssh za pomocą
/etc/init.d/sshd restart
Następnie następnym razem się zalogujesz
ssh -X me@remote-box
Będziesz miał tunel X, spróbuj zainstalować xclock na zdalnym serwerze w celach testowych i wykonaj xclock
sesję ssh, o której właśnie wspomniałem. Prosty zegar x do celów testowych powinien pojawić się w GUI Linuksa.
Jest to również możliwe na komputerze Mac, jeśli zainstalujesz lokalne środowisko X.
9. Jeśli masz kilka podobnych pól lub zadań: użyj narzędzia konfiguracji systemu
Jeśli masz farmę serwerów lub wdrażasz duże chmury z wieloma redundantnymi lub w inny sposób równymi lub podobnymi maszynami, możesz tego użyć.
Prawdopodobnie nie miałoby to sensu, gdyby większość urządzeń była indywidualna lub posiadała różne systemy operacyjne lub różne wersje.
Istnieje kilka narzędzi:
10. Wdróż kontenery aplikacji za pomocą docker
To idzie nawet o krok dalej. Docker to projekt typu open source, który automatyzuje wdrażanie aplikacji w kontenerach oprogramowania: https://www.docker.io
11. Użyj Google Compute Engine z automatycznym zarządzaniem wdrażaniem
https://cloud.google.com/products/compute-engine/
Google oferuje maszyny wirtualne z systemem Linux z bardzo ekscytującymi możliwościami. Możesz szybko wdrażać duże klastry maszyn wirtualnych za pomocą narzędzi, w tym interfejsu API RESTful, interfejsu wiersza polecenia i konsoli internetowej. Możesz także użyć narzędzi, takich jak RightScale i Scalr, aby automatycznie zarządzać wdrożeniem .