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 gksudo
VS 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?
Odpowiedzi:
Prawdopodobnie masz
*-askpass
zainstalowany jeden z pakietów i odpowiednioSSH_ASKPASS
ustawiono 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.
źródło
gnome-keyring
(zrzut ekranu z OP potwierdziłby to), jak wyjaśniono w mojej innej odpowiedzi.gnome-askpass
okno 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.Masz dodany klucz prywatny w
gnome-keyring
lub 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ęciegnome-keyring
lub uruchomieniessh-agent
) iAddKeysToAgent yes
opcji w twoimssh_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:
źródło