RDP FIDO · SSH

SSH za kluczem FIDO2 — i konsola z asystentem AI

Port SSH jest zamknięty dla wszystkich, dopóki nie dotkniesz klucza. Gdy jest już otwarty, pracujesz w konsoli, która sama wpisuje zapisane hasła, trzyma pod ręką często używane polecenia i podpowiada następne: asystent AI zamienia zadanie na polecenia, a za Twoją zgodą czyta to, co pokazuje terminal.

Od wersji 1.24. Konsola wchodzi w skład klienta, również w wersji bezpłatnej.

Prawdziwa sesja: asystent (model lokalny w LM Studio) przeczytał wynik polecenia du i proponuje wyczyszczenie pamięci podręcznej APT.
Prawdziwa sesja: asystent (model lokalny w LM Studio) przeczytał wynik polecenia du i proponuje wyczyszczenie pamięci podręcznej APT.

Port SSH zamknięty, dopóki nie dotkniesz klucza

Brama na Linuksie zamyka port 22 (i dowolny inny port TCP) dokładnie tak samo jak RDP. Potwierdzasz kluczem FIDO2 albo kodem jednorazowym, a port otwiera się na 90 sekund i tylko dla Twojego adresu. Skanery i ataki brute force widzą zamknięty port.

Konsola, która pamięta hasła i polecenia

Kafelek „SSH console” (Konsola SSH) otwiera terminal z panelem bocznym. Hasło sudo wpisuje się jednym kliknięciem albo samo, gdy tylko terminal o nie zapyta; często używane polecenia uruchamia się z listy: osobnej dla serwera albo wspólnej dla wszystkich sesji.

Asystent AI wprost w konsoli

Opisz zadanie słowami, a dostaniesz polecenia z przyciskami „Insert” (wstaw) i „Run” (uruchom). Działa z modelem Claude i z dowolnym serwerem zgodnym z OpenAI, w tym z modelem lokalnym w Twojej sieci.

Od kliknięcia do znaku zachęty powłoki

To samo potwierdzenie, które otwiera RDP, otwiera też SSH.

  1. Kliknięcie kafelka. Sesje SSH mają w kliencie własną kartę z kompaktowymi kafelkami.
  2. Dotknięcie klucza. Klient prosi bramę o potwierdzenie: klucz FIDO2 z PIN-em lub odciskiem palca, Windows Hello albo kod jednorazowy, jeśli brama działa w trybie kodów.
  3. Port otwiera się tylko dla Ciebie. Brama otwiera port SSH dla adresu, z którego przyszło potwierdzenie, na 90 sekund: to wystarczy, żeby rozpocząć połączenie. Nawiązana sesja trwa dalej; nowa znów wymaga klucza.
  4. Konsola uruchamia ssh. To systemowy ssh: Twoje klucze, ssh-agent i ~/.ssh/config działają tak jak dotąd.
AI

Asystent AI: od zadania do polecenia

Asystent mieszka w panelu bocznym konsoli i wie, z którą maszyną masz połączenie i jako który użytkownik. Model wybierasz Ty.

Opisz zadanie, dostaniesz polecenie

Opisz zadanie, dostaniesz polecenie

Każde proponowane polecenie przychodzi jako osobny blok z przyciskami: „Insert” wpisuje je do terminala bez klawisza Enter, „Run” je wykonuje, a „+ Save” zapisuje na Twojej liście poleceń.

Claude z kluczem API

Claude z kluczem API

Wpisz klucz API Anthropic, a asystentem zostanie Claude. Adres i model są już uzupełnione; lista modeli pojawia się po wpisaniu klucza.

Albo własny model, w Twojej sieci

Albo własny model, w Twojej sieci

Dowolny serwer zgodny z OpenAI: LM Studio, Ollama, własna bramka API. Konsola sama pyta serwer o listę modeli. Przy modelu lokalnym ani Twoje pytania, ani to, co wypisuje terminal, nie opuszczają Twojej sieci.

Prompty: opisz serwer raz

Prompty: opisz serwer raz

Stałe notatki dla asystenta: jaki to system, co jest zainstalowane, czego nie wolno ruszać. Zaznaczone prompty trafiają do modelu z każdym pytaniem, w tej sesji albo we wszystkich.

Historia rozmów

Historia rozmów

Rozmowy są przechowywane osobno dla każdej sesji: możesz otworzyć wcześniejszą i ją kontynuować albo zacząć nową. Otwarcie starej rozmowy niczego nie wpisuje do terminala.

Co asystent widzi, a czego nie widzi nigdy

  • Tekst z terminala: tylko wtedy, gdy zaznaczone jest pole „Sees the console” (widzi konsolę). Program dołącza wtedy do każdego pytania ostatnie 200 wierszy ekranu. Zakazu pilnuje sam program, a nie strona panelu.
  • Hasła: nigdy. Wpisuje je program, terminal ich nie wyświetla i nie trafiają do tekstu wysyłanego do modelu.
  • Klucz API jest przechowywany w postaci zaszyfrowanej (DPAPI w Windows, pęk kluczy środowiska graficznego w Linuksie) i trafia wyłącznie pod adres, dla którego został zapisany.
  • Zapytania idą prosto z Twojego komputera pod wskazany przez Ciebie adres. Nie przechodzą przez nasze serwery.

To Ty decydujesz, kto naciska Enter

  • „By click only” (tylko po kliknięciu; tryb domyślny): asystent proponuje, a Ty wstawiasz albo uruchamiasz.
  • „Insert the first one” (wstaw pierwsze): pierwsze proponowane polecenie trafia do wiersza poleceń, Enter należy do Ciebie.
  • „Run the first one” (uruchom pierwsze): pierwsze polecenie wykonuje się od razu. Konsola ostrzega o tym trybie przy jego włączaniu.

Asystent ma w instrukcji, by nie zaczynać od destrukcyjnego polecenia i jednym wierszem ostrzegać przed poleceniem, które usuwa dane, restartuje usługę albo zmienia prawa dostępu. To jednak wciąż model: przeczytaj polecenie, zanim je uruchomisz.

Hasła wpisują się same

Jak menedżer haseł, tylko że w terminalu.

  • Wpis odpowiada na swoje pytanie. Podaj fragment wiersza, na przykład [sudo] password, a konsola zaproponuje wpis, gdy tylko terminal wypisze to pytanie.
  • „Type it by itself” (wpisuj automatycznie): wpis odpowiada na swoje pytanie bez kliknięcia, ale nie częściej niż raz na 15 sekund, więc błędne hasło nigdy nie zostanie wpisane trzy razy z rzędu.
  • Także hasła logowania i hasła do kluczy: Enter passphrase for key… jest rozpoznawane jako pytanie o hasło.
  • Przechowuje je system, a nie my: DPAPI bieżącego użytkownika w Windows, pęk kluczy środowiska graficznego w Linuksie. Strona panelu nigdy nie dostaje hasła: wskazuje wpis po nazwie, a hasło wpisuje program.
Terminal pyta o hasło sudo, a konsola proponuje pasujący wpis.
Terminal pyta o hasło sudo, a konsola proponuje pasujący wpis.

Polecenia pod ręką

Często używane polecenia jednym kliknięciem, a nie z historii powłoki.

  • Kliknięcie uruchamia polecenie; „Insert” wpisuje je bez klawisza Enter, żeby można było dopisać argumenty.
  • Dla serwera i wspólne: najpierw idą polecenia tej sesji, pozostałe są wspólne dla wszystkich sesji.
  • Polecenia wielowierszowe też są obsługiwane, a udane polecenie od asystenta zachowasz przyciskiem „+ Save”.
Zapisane polecenia: dla tego serwera i dla wszystkich sesji.
Zapisane polecenia: dla tego serwera i dla wszystkich sesji.

W kliencie: karta SSH i ustawienia sesji

Serwery SSH mieszkają obok pulpitów, na własnej karcie.

Karta „SSH” w kliencie dla Windows.
Karta „SSH” w kliencie dla Windows.
  • Karta „SSH” z kompaktowymi kafelkami: nazwa, adres, użytkownik, czas ostatniego połączenia. Klawisz Tab przełącza między nią a pulpitami.
  • Własny obrazek dla kafelka (PNG, JPEG, BMP, GIF, ICO), żeby właściwy serwer znaleźć jednym spojrzeniem.
  • Port SSH, plik klucza i opcje ssh w sesji: opcje trafiają do ssh dokładnie tak, jak je wpisano, na przykład przekierowanie portów -L albo host pośredniczący -J.
  • Niczego nie trzeba pobierać osobno: w Windows konsola jest wbudowana w klienta i przychodzi z jego aktualizacją; w Linuksie to polecenie rdpfido console z pakietu klienta.
Sesja z protokołem „SSH console”: brama, port SSH, plik klucza, opcje ssh.
Sesja z protokołem „SSH console”: brama, port SSH, plik klucza, opcje ssh.

Brama: jedno polecenie na serwerze

Brama RDP FIDO dla Linuksa zamyka za tym samym kluczem dodatkowe porty TCP: SSH, konsolę WWW Proxmox, panel administracyjny.

Na serwerze

# zamknij SSH; kilka portów: oddziel je spacjami$ sudo rdpfido-gate ports add 22
# co jest teraz zamknięte$ sudo rdpfido-gate ports
# przywróć portowi zwykły tryb$ sudo rdpfido-gate ports remove 22

Z klienta dla Linuksa

# klucz → porty otwierają się na czas okna$ rdpfido open web-01
# to samo, a potem ssh do hosta sesji$ rdpfido ssh web-01
# to samo w oknie konsoli SSH$ rdpfido console web-01
  • Pakiety dla systemów Ubuntu, Debian, Astra Linux, RED OS i ALT Linux (deb i rpm) oraz archiwum z instalatorem dla dowolnej innej dystrybucji.
  • Do 16 portów. Otwarte już połączenia nie są zrywane, więc port 22 można zamknąć z poziomu sesji SSH.
  • Nie odetniesz się przez przypadek: dopóki nie zostanie zarejestrowany pierwszy klucz, porty pozostają otwarte, a wyjściem awaryjnym jest rdpfido-gate unlock na konsoli samej maszyny.
  • Okno ogranicza tylko rozpoczęcie połączenia. Sesja nawiązana w oknie trwa także po jego zakończeniu.

Pierwsze kroki

  1. Na serwerze (Linux): zainstaluj pakiet bramy, uruchom sudo rdpfido-gate setup, a następnie sudo rdpfido-gate ports add 22.
  2. Na swoim komputerze: zainstaluj klienta RDP FIDO w wersji 1.24.1 lub nowszej i zarejestruj klucz kodem, który wypisała brama.
  3. Dodaj sesję: „Add” (dodaj) na karcie „SSH”, a następnie serwer, login, protokół „SSH console” i adres bramy.
  4. Asystent: karta „Assistant” (asystent), potem ikona koła zębatego — Claude z kluczem API albo adres własnego serwera.

Czego jeszcze nie ma

  • Dodatkowe porty zamyka brama na Linuksie. Brama na Windows chroni na razie tylko RDP.
  • Przez hub chmury (rdpfido-cloud) przechodzi tylko RDP; SSH wymaga bezpośredniego połączenia z bramą.
  • Graficzny klient dla Linuksa nie ma kafelka konsoli: konsolę uruchamia się poleceniem rdpfido console, a w obecnych pakietach dla Linuksa nazwę modelu wpisuje się ręcznie.
  • Nie ma przesyłania plików ani kart z kilkoma terminalami w jednym oknie konsoli.

Pytania i odpowiedzi

Czy asystent AI widzi moje hasła?

Nie. Hasła wpisuje sam program, terminal ich nie wyświetla, strona panelu nigdy ich nie dostaje i nie trafiają do tekstu wysyłanego do modelu. Tekst z terminala asystent otrzymuje tylko wtedy, gdy zaznaczone jest pole „Sees the console”.

Czy mogę używać modelu lokalnego, bez żadnej chmury?

Tak. Nada się dowolny serwer zgodny z OpenAI: LM Studio, Ollama, własna bramka API. Zapytania idą z Twojego komputera prosto pod wskazany adres, więc przy modelu w Twojej sieci nic jej nie opuszcza.

Jakie modele są obsługiwane?

Claude przez API Anthropic (potrzebny jest klucz API) oraz dowolny model za API zgodnym z OpenAI. Po podaniu adresu konsola pokazuje modele dostępne na serwerze; nazwę można też wpisać ręcznie.

Czy asystent może sam uruchamiać polecenia?

Domyślnie nie: polecenia są wstawiane lub uruchamiane wyłącznie po Twoim kliknięciu. Są jeszcze dwa tryby, „Insert the first one” (wstaw pierwsze) i „Run the first one” (uruchom pierwsze); drugi włączaj tylko wtedy, gdy ufasz i modelowi, i zadaniu.

Czy potrzebny jest klucz sprzętowy?

Wystarczy klucz FIDO2 (YubiKey i inne) albo Windows Hello. Jeśli kluczy nie ma, brama może działać w trybie kodów jednorazowych z aplikacji uwierzytelniającej.

Czy mogę korzystać z konsoli bez bramy?

Tak. Sesja bez bramy to zwykła konsola SSH z hasłami, poleceniami i asystentem. Brama dodaje rzecz najważniejszą: port zamknięty dla wszystkich pozostałych.

Czy to jest płatne?

Konsola wchodzi w skład klienta, również w wersji bezpłatnej (do 10 zapisanych sesji). Pro, płatne jednorazowo, znosi limit sesji i usuwa reklamy. Za model płaci się osobno jego dostawcy, a jeśli jest Twój własny, nie kosztuje nic.

Na jakich systemach to działa?

Klient z konsolą: Windows 10 i 11 (korzysta z systemowego OpenSSH i WebView2) oraz Linux. Brama zamykająca SSH: Linux, z pakietami dla systemów Ubuntu, Debian, Astra Linux, RED OS i ALT Linux.

Zamknij SSH za kluczem i pracuj w konsoli, która pomaga

Wersja bezpłatna zawiera bramę, klienta i konsolę. Asystent działa z modelem, który wybierzesz.