>_ DevTrendspl

Język

Strona główna

Języki

Sekcje

Frontend Backend Mobilne DevOps AI / ML GameDev Blockchain Systemy wbudowane Bezpieczeństwo
Rust

Jak zorganizować dziesiątki serwerów i zapomnieć o ręcznej edycji konfiguracji SSH

Każdy, kto regularnie tworzy maszyny wirtualne w chmurze lub prowadzi serwer domowy, wie, że plik ~/.ssh/config stopniowo zamienia się w chaos. Stare adresy IP z dawno usuniętych instancji Hetzner, zapomniane aliasy i łańcuchy ProxyJump gromadzą się w nim. Po kolejnym uruchomieniu Terraform musisz ponownie otworzyć konsolę chmury, pobrać adres IP i ręcznie dodać host.

Niedawno natknąłem się na purple — open-source'owego menedżera SSH TUI napisanego w Rust. Autor projektu napotkał dokładnie tę samą rutynę i postanowił zbudować wygodny interfejs terminalowy, który zajmie się synchronizacją infrastruktury.

purple terminal SSH client demo

Co pod maską i jak to działa

Główną cechą tego narzędzia jest to, że nie próbuje wymyślać własnego zamkniętego formatu ani ukrywać ustawień w bazie danych SQLite. Program bezpośrednio parsuje Twój plik ~/.ssh/config, starannie zachowując komentarze, wcięcia, dyrektywy Include i wszelkie niestandardowe parametry. Wszystkie zmiany są zapisywane z powrotem do tego samego pliku.

Interfejs jest zbudowany na bibliotece Ratatui. To szybki, responsywny TUI jako pojedynczy plik binarny bez demonów ani usług działających w tle. Repozytorium zawiera już ponad 7300 testów, a kod źródłowy jest dostępny na licencji MIT.

purple host list with detail panel

Synchronizacja z dostawcami chmury

Wystarczy podać token API dostawcy, a lista instancji zostanie automatycznie pobrana do konfiguracji. Obecnie obsługiwanych jest 17 platform, w tym AWS, GCP, Azure, Hetzner, DigitalOcean, Proxmox i Teleport. Możesz połączyć wiele kont jednocześnie.

purple cloud provider list

Gdy wyłączysz serwer, narzędzie oznaczy go jako nieaktywny, więc martwe adresy nie zaśmiecają listy. Każda karta hosta pokazuje szczegółowe podsumowanie: status dostępności, trasę połączenia, historię aktywności z ostatniego roku, tagi i uruchomione usługi.

Szybka nawigacja i wyszukiwanie

Naciśnięcie : otwiera pasek szybkiego wyszukiwania w stylu palety poleceń (jak Cmd+K w nowoczesnych edytorach). Wyszukiwanie obejmuje nazwy hostów, nazwy użytkowników, parametry ProxyJump i tagi. Filtry takie jak user:, proxy: lub tag: pozwalają odfiltrować szum w kilka naciśnięć klawiszy.

purple Jump bar

Zarządzanie kontenerami bez agentów

Osobna przydatna funkcja to zakładka z kontenerami Docker i Podman w całej Twojej infrastrukturze.

purple Containers tab

Program nie wymaga instalacji zewnętrznych agentów ani otwierania portów webowych na zdalnych serwerach. Cała interakcja odbywa się za pomocą standardowych poleceń SSH. Bezpośrednio z interfejsu możesz:

  • przeglądać ujednoliconą listę kontenerów ze wszystkich serwerów
  • czytać logi w czasie rzeczywistym
  • restartować i zatrzymywać kontenery
  • wchodzić do kontenera przez exec
  • restartować usługi z Docker Compose indywidualnie

Monitorowanie tuneli i wykonywanie poleceń

Zazwyczaj tunele SSH działają w tle jako niewidoczne procesy. Tutaj każde przekierowanie lokalne, zdalne i dynamiczne SOCKS jest wyraźnie wyświetlane: możesz zobaczyć prędkość transferu danych, aktywność kanału, czas działania, a nawet konkretny proces lokalny generujący ruch.

purple tunnel detail

Jeśli musisz wdrożyć polecenie w grupie serwerów, przydaje się sekcja snippetów. Przed uruchomieniem narzędzie pokazuje promień rażenia, aby uniknąć przypadkowego trafienia dodatkowych instancji, a następnie zapisuje historię udanych i nieudanych uruchomień.

purple snippet detail

Praca z kluczami i Vault

Osobna zakładka zbiera wszystkie klucze z katalogu ~/.ssh. Narzędzie ocenia ich siłę kryptograficzną, pokazuje obraz randomart i wyświetla listę serwerów, na których klucz działa. Naciśnięcie p pozwala wdrożyć klucz publiczny na serwerach bez ręcznych cykli z ssh-copy-id.

purple key detail

Dla osób korzystających z HashiCorp Vault dostępna jest obsługa krótkotrwałych certyfikatów SSH. Interfejs wyświetla pasek pozostałego czasu certyfikatu, więc nieoczekiwanie wygasły dostęp nie będzie niespodzianką.

purple Vault SSH

Inne przydatne dodatki: wbudowany menedżer plików z dwoma panelami do transferów SCP, integracja z menedżerami haseł (1Password, Bitwarden, systemowy Keychain) oraz własny serwer MCP do łączenia z asystentami AI, takimi jak Claude Code czy Cursor.

Jak zainstalować

Szybka instalacja przez skrypt:

curl -fsSL getpurple.sh | sh

Lub przez menedżery pakietów:

# macOS (Homebrew)
brew install erickochen/purple/purple

# Cargo
cargo install purple-ssh

# Arch Linux (AUR)
yay -S purple-bin

Po instalacji uruchom polecenie purple. Z każdego ekranu możesz nacisnąć ?, aby otworzyć pomoc dotyczącą skrótów klawiaturowych.

Kto znajdzie to przydatne

Projekt dobrze wypełnia lukę między prostymi poleceniami CLI a ciężkimi płatnymi klientami, takimi jak Termius. Jeśli często zarządzasz maszynami w chmurze, prowadzisz homelab lub po prostu masz dość ręcznego sortowania adresów IP serwerów, purple oszczędza dużo czasu i utrzymuje konfiguracje w czystości.

Powiązane projekty