Korzystam z Awesome Window Manager
Jak mogę na stałe dodać klucze prywatne za pomocą hasła?
Zainspirowany odpowiedź tutaj dodałem klucze prywatne w ~ / .ssh / config
Zawartość ~ / .ssh / config:
IdentityFile 'private key full path'
Uprawnienia ~ / .ssh / config: 0700
Ale to nie działa dla mnie.
Jeśli ręcznie dodam klucz w każdej sesji, działa, ale szukam bardziej eleganckiego sposobu (nie w .bashrc)
EDYCJA :
- Korzystanie z wersji Gnome classic (bez efektów).
Po dodaniu klucza SSH ssh-copy-if
do zdalnego hosta pojawia się następujący komunikat w terminalu (GNOME Terminal 3.0.1) podczas logowania:
ssh -i .ssh/Password-Protected-Key user@host
Enter passphrase for key '.ssh/Password-Protected-Key':
- Korzystanie z Awesome Window Manager v3.4.10. Już miałem,
gnome-keyring-dameon
więc zabiłem drugi pid i uruchomiłemgnome-keyring-daemon --start | grep SOCK
(dodałem go również w .profile) wyjście (grep):
SSH_AUTH_SOCK=/tmp/keyring-2LXXXX/ssh
Wykonałem dokładnie te same kroki i podobnie nie mam okna dialogowego dodawania ssh do GUI.
EDYCJA 2 :
Utworzyłem nowy klucz chroniony hasłem z maszyny wirtualnej Ubuntu 11.10 na jedności i nadal nie mogę uzyskać żadnego hasła.
EDYCJA 3 : Wygląda na to, że to nie działa w Awesome menadżer okien :( i prawdopodobnie inne ..
źródło
Odpowiedzi:
Jeśli korzystasz z Unity lub menedżera sesji, który uruchamia demona kluczy-gnome, możesz po prostu użyć konika morskiego (hasła i klucze), aby ustalić klucz, zdefiniować, do czego służy, ustawić hasło i rozdzielić jego klucz publiczny do komputer, którego będziesz używać z ssh. Nie są wymagane żadne polecenia terminalowe.
Tworzysz hasło poprzez:
wybierając Plik-> Nowy i wybierz Bezpieczny klucz powłoki. Naciśnij Kontynuuj.
Wpisz opisową nazwę i wybierz
Create and set up
.Zostaniesz poproszony o dwukrotne wpisanie frazy (po raz drugi, aby sprawdzić, czy nie wprowadziłeś go nieprawidłowo za pierwszym razem.
Wprowadź komputer, na którym ma zostać użyty klucz publiczny, i nazwę użytkownika na tym komputerze, dla którego będziesz używać klucza. Klucz publiczny zostanie skopiowany na inny komputer, w razie potrzeby monitując o podanie hasła na tym komputerze.
Teraz
My Personal Keys
karta wyświetli klucz.Zakładając, że gnome-keyring-daemon został poprawnie uruchomiony po zalogowaniu do Lightdm, a następnie przez menedżera sesji, kiedy po raz pierwszy użyjesz klucza z ssh, zostaniesz poproszony o podanie frazy. W tym oknie dialogowym możesz podać hasło, wybrać element
Details
sterujący i poprosić o odblokowanie kluczy po każdym zalogowaniu - automatyczne podanie tego klucza. naciśnijOKW ten sposób może nie zostać wyświetlony monit, jeśli dostępny jest inny klucz do zalogowania się na komputerze zdalnym.
Po wykonaniu tej czynności pierwsza zakładka Konik morski wyświetli
Passwords
„Odblokuj hasło” dla nazwy klucza. Kliknij trójkąt przed „ Hasłami: Zaloguj się”, aby go zobaczyć.źródło
Zabezpieczanie hasłem klucza SSH utrzymuje się podczas sesji i restartów
Prawdopodobnie właśnie tego chcesz: wprowadzenie hasła kluczowego powoduje, że będzie ono dostępne zawsze, gdy będziesz zalogowany. Będzie działać dla większości użytkowników korzystających z komputerów stacjonarnych Unity lub Gnome.
Kiedy połączysz się po dodaniu klucza publicznego do zdalnego serwera, pojawi się okno dialogowe dodawania ssh GUI:
Rozwiń „Szczegóły”, klikając trójkąt, a otrzymasz poniższe. Domyślnie jest to „blokada kluczy po wylogowaniu”, która wymaga wprowadzenia hasła raz na sesję:
Zmień go na Automatycznie odblokuj ... za każdym razem, gdy jestem zalogowany , co oznacza, że będzie działać za każdym razem, gdy zalogujesz się do sesji - jest to „kontrolowane” przez twoje hasło użytkownika. Będzie się powtarzał po ponownym uruchomieniu.
Wprowadź hasło klucza raz i to wszystko - klucz jest uwierzytelniany poprzez początkowe pomyślne logowanie do środowiska pulpitu.
Jeśli używasz AwesomeWM
Przetestowano ze świeżą instalacją AwesomeWM w nowym użytkowniku
Domyślnie AwesomeWM używa
ssh-agent
:Aby powyższe kroki zadziałały, musisz użyć
gnome-keyring-daemon
jako demona uwierzytelniania SSH, a nie ssh-agent. Kiedy logujesz się przy użyciu lightdm, uruchamia się PAMgnome-keyring-daemon
, który spróbuje odblokować klucz logowania za pomocą hasła odblokowującego, ale musisz dodać do konfiguracji, aby nadal działać i używać.Dodaj następujące na końcu
~/.xprofile
:Polecenia w
~/.xprofile
pliku zostaną wykonane przez xsession przed uruchomieniem wspaniałego menedżera okien i powiążą go zgnome-keyring-daemon --login
procesem uruchomionym przez PAM za pomocą powyższych zmiennych środowiskowych.ssh user@host
, powinieneś otrzymać powyższe wyskakujące okienka - użyj ich, aby zdekodować klucze prywatne w ~ / .ssh / i zapisać swoje klucze prywatne w kluczu logowania gnome-keyring.Ogólne rozwiązanie dla dowolnego menedżera okien / środowiska pulpitu
należy użyć
gnome-keyring-daemon
zamiastssh-agent
. Do tego trzeba być uruchomionygnome-keyring-daemon
i ma ona zainicjowana i albo zrobić to possh-agent
uruchomieniu, czy nie uruchomićssh-agent
w ogóle.ssh
(faktycznie ssh-add) decyduje, który agent uwierzytelniający ma zostać wywołany na podstawie wartościSSH_AUTH_SOCK
zmiennej środowiskowej, którą można sprawdzić, wpisującexport | grep SOCK
jest to forma
SSH_AUTH_SOCK=/tmp/ssh-MMFyVlI22130/agent.22130
dla ssh-agent (NIE to, co chcesz móc zapisać swój klucz)ale w formie
SSH_AUTH_SOCK="/tmp/keyring-mEQB5g/ssh"
dla gnome-keyring-daemon (który chcesz)więc sprawdzić wartość i sprawdzić z
ps aux | grep keyring
tego gnome-brelok-demona jest uruchomiony, a jeśli tak, to go zainicjować z wynikamignome-keyring-daemon --start
możesz następnie sprawdzić powiązane zapisane tożsamości w konsoli, wpisując
ssh-add -l
- jeśli pokazuje „brak agenta”, to popełniłeś błąd podczas konfigurowania gnome-keyring-daemon.źródło
~/.ssh
, nie ma potrzeby korzystania z nichssh-add
- okno dialogowe pojawi się przy pierwszym użyciu. Pamiętaj, że działa to tylko w Unity / Gnome - na czacie odkryłem, że OP używa AwesomeWM , gdzie to nie działa!Rozwiązaniem problemu jest użycie agenta ssh. Musisz tylko raz odblokować hasło swojego klucza, po czym jest ono przechowywane przez agenta w pamięci i używane automatycznie
ssh-keygen -t dsa
ssh-copy-id
do tego)ssh-add
przed zalogowaniem się do systemu zdalnego, poprosi o podanie hasła i zapisze jeAgent ssh jest dobrze opisany w .net, na przykład tutaj:
Kolejną zaletą ssh-agent jest to, że jeśli zalogujesz się do zdalnego systemu
ssh -A [email protected]
, możesz dalej ssh z komputera domain.name na trzeci komputer zawierający twój klucz publiczny bez konieczności kopiowania twojego klucza prywatnego na komputer domain.name (i to nigdy widzi twój klucz prywatny, tylko jednorazowe wyzwanie / odpowiedź).źródło
możesz użyć
ssh-add 'filename or fullpath'
zostaniesz poproszony o hasło, jeśli je masz
wtedy możesz połączyć się bez hasła
źródło
Jeśli chcesz pracować z kluczami prywatnymi:
Następnie:
skopiuj
.ssh/id_rsa.pub
do miejsca docelowego komputera.ssh/authorized_keys
za pośrednictwem scpWszystko gotowe.
Połącz się ze zdalnym komputerem bez hasła:
I nie mamy pytania o hasło.
źródło