Wymuś SSH, aby zapytał moje hasło klucza prywatnego w powłoce (nie w oknie)

9

Kiedy używam SSH po raz pierwszy po uruchomieniu, prosi mnie o hasło do odblokowania klucza prywatnego (czego się spodziewam). Ale robi to w oknie, a nie w powłoce (podobnie jak gksudoVS sudo). Jest to frustrujące (muszę użyć myszy, aby kliknąć okno), a po drugie czasami powoduje błąd (używam terminala Guake, czasami na pełnym ekranie, w którym to przypadku nie mogę skupić się na oknie SSH i jestem zmuszony ponownie uruchomić X ).

Moje pytanie brzmi zatem: czy istnieje sposób, aby zmusić SSH do żądania hasła prywatnego klucza w wierszu poleceń, zamiast otwierania okna?

Adrien Luxey
źródło
env ssh ... zrobiłby to, ale to traci ssh-agent, więc to nie do końca prawda. Może ktoś wymyśli resztę.
Joshua

Odpowiedzi:

7

Prawdopodobnie masz *-askpasszainstalowany jeden z pakietów i odpowiednio SSH_ASKPASSustawiono zmienną środowiskową ; patrz ssh (1) . Rozbrojenie zmiennej, np. W twoim ~/.bashrc, lub odinstalowanie pakietu powinno załatwić sprawę.

Zobacz także Powiedz SSH, aby używał graficznego monitu o podanie hasła kluczowego dla problemu odwrotnego i kilka wskazówek dotyczących środowiska.

Murphy
źródło
1
Najprawdopodobniej tak nie jest. SSH prosi o podanie hasła zawsze w TTY, chyba że go nie ma (jeśli jesteś w błędzie, założę się, że je masz). Podpowiedź pochodzi najprawdopodobniej z gnome-keyring(zrzut ekranu z OP potwierdziłby to), jak wyjaśniono w mojej innej odpowiedzi.
Jakuje
Rzeczywiście, gnome-askpassokno nie wygląda jak zwykle: askpass tylko czyta „Wprowadź hasło OpenSSH” z polem tekstowym. Próbowałem zrobić zrzut ekranu, ale to nie działa: okno przechwytuje kluczowe zdarzenia (ten sam problem, który powoduje błąd w trybie pełnoekranowym). W razie potrzeby zrobię zdjęcie.
Adrien Luxey,
@AdrienLuxey Wypróbuj Gimp, jest w stanie zrobić zrzut ekranu aktywnego okna po upływie określonego czasu. Ale co ważniejsze, powinieneś sprawdzić drzewo ps, aby zobaczyć, kto / co wywołuje okno.
Murphy
3

Masz dodany klucz prywatny w gnome-keyringlub w innym miejscu, które wydaje monit GUI dla hasła. W tej konfiguracji nie można się tego pozbyć.

Istnieje jednak możliwość użycia normalnego ssh-agent(poprzez usunięcie gnome-keyringlub uruchomienie ssh-agent) i AddKeysToAgent yesopcji w twoim ssh_config, co spowoduje oczekiwane zachowanie - po uruchomieniu agent nie będzie miał żadnych kluczy i zostaną automatycznie dodane po pierwsze użycie.

Podobne przypadki wyjaśniono w powiązanych pytaniach:

Jakuje
źródło