Jak usunąć hasło dla klucza SSH bez konieczności tworzenia nowego klucza?
Ustawiłem hasło podczas tworzenia nowego klucza SSH na moim laptopie. Ale, jak teraz zdaję sobie sprawę, jest to dość bolesne, gdy próbujesz zaangażować (Git i SVN ) do zdalnej lokalizacji przez SSH wiele razy w ciągu godziny.
Jeden sposób mogę myśleć jest, usunąć moje klucze SSH i utworzyć nowy. Czy istnieje sposób na usunięcie hasła, zachowując jednocześnie te same klucze?
3 answers
Krótka odpowiedź:
$ ssh-keygen -p
Spowoduje to wyświetlenie monitu o wpisanie lokalizacji pliku kluczowego, starego hasła i nowego hasła(które można pozostawić puste, aby nie mieć hasła).
Jeśli chcesz zrobić to wszystko w jednej linii bez monitów zrób:
$ ssh-keygen -p [-P old_passphrase] [-N new_passphrase] [-f keyfile]
Ważne: uważaj, że podczas wykonywania poleceń będą one zazwyczaj logowane w Twoim pliku ~/.bash_history
(lub podobnym) w postaci zwykłego tekstu zawierającego wszystkie podane argumenty (np. hasła w tym przypadku). On dlatego zaleca się skorzystanie z pierwszej opcji, chyba że masz konkretny powód, aby zrobić inaczej.
Możesz rozważyć użycie SSH-agenta, który może buforować hasło przez pewien czas. Najnowsze wersje gpg-agent obsługują również protokół używany przez ssh-agent.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-06-26 18:16:36
Możesz dodać do swojego .bash_profile (lub odpowiednik), który uruchamia ssh-agent po zalogowaniu.
if [ -f ~/.agent.env ] ; then
. ~/.agent.env > /dev/null
if ! kill -0 $SSH_AGENT_PID > /dev/null 2>&1; then
echo "Stale agent file found. Spawning new agent… "
eval `ssh-agent | tee ~/.agent.env`
ssh-add
fi
else
echo "Starting ssh-agent"
eval `ssh-agent | tee ~/.agent.env`
ssh-add
fi
Na niektórych dystrybucjach Linuksa (Ubuntu, Debian) możesz użyć:
ssh-copy-id -i ~/.ssh/id_dsa.pub username@host
Spowoduje skopiowanie wygenerowanego identyfikatora na zdalną maszynę i dodanie go do zdalnego pęku kluczy.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-09-22 16:09:34
$ ssh-keygen -p
worked for me
Otworzył Git bash. Wklejony: $ ssh-keygen -p
Naciśnij enter dla domyślnej lokalizacji.
Wpisz stare hasło
Wprowadź nowe hasło-puste
Potwierdź nowe hasło-puste
Bum ból wchodzenia w hasło do git push zniknął.
Dzięki!Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-06-05 15:47:13