Używam git bash i konfiguruję klucz ssh za pomocą ssh-keygen i za każdym razem, gdy robię coś z git repo, pytaj mnie o hasło /c/Users/jankiewj/.ssh/id_rsa
. Czy istnieje sposób na wyłączenie tego hasła?
Używam git bash i konfiguruję klucz ssh za pomocą ssh-keygen i za każdym razem, gdy robię coś z git repo, pytaj mnie o hasło /c/Users/jankiewj/.ssh/id_rsa
. Czy istnieje sposób na wyłączenie tego hasła?
Odpowiedzi:
Możesz uruchomić to w git bash:
eval `ssh-agent -s`
ssh-add ~/.ssh/*_rsa
poprosi o hasło w drugim poleceniu i to wszystko. Każda dodatkowa czynność, którą musisz wykonać (która kiedyś wymagała hasła), nie poprosi o hasło (patrz przykład na zrzucie ekranu poniżej):
.bashrc
więc za każdym razem, gdy otwieram git bash, pojawia się monit i dla tej sesji jestem gotowy.
~/.bashrc
a następnie wprowadzić do niego wiersze ze swojego postu i zapisać, to wszystko :) thx!
.bashrc
, użyłbym skryptu i umieściłem go w .bash_profile
lub .profile
. Oto fragment głównej części mojej .bash_profile
, powinien rozwiązać ten problem dla każdego, kto wciąż szuka odpowiedzi; jest podobny do odpowiedzi poniżej. Na początku skryptu ładuję mój .bashrc
, który, jeśli nie ma zastosowania, po prostu go pomiń. Uwaga: musisz zmienić odniesienia do id_rsa
dowolnej nazwy prywatnego klucza SSH i być może ścieżki.
Nieco lepszym i trwałym rozwiązaniem jest automatyczne uruchomienie ssh-agent podczas otwierania git bash w Windows. Możesz skopiować / wkleić poniżej w .profile lub .bashrc. Wolę umieścić go w pliku .profile
env=~/.ssh/agent.env
agent_load_env () { test -f "$env" && . "$env" >| /dev/null ; }
agent_start () {
(umask 077; ssh-agent >| "$env")
. "$env" >| /dev/null ; }
agent_load_env
# agent_run_state: 0=agent running w/ key; 1=agent w/o key; 2= agent not running
agent_run_state=$(ssh-add -l >| /dev/null 2>&1; echo $?)
if [ ! "$SSH_AUTH_SOCK" ] || [ $agent_run_state = 2 ]; then
agent_start
ssh-add
elif [ "$SSH_AUTH_SOCK" ] && [ $agent_run_state = 1 ]; then
ssh-add
fi
unset env
To rozwiązanie zostało zaczerpnięte z tego artykułu pomocy github
.bashrc
, czym różni się twoje rozwiązanie? W systemie Windows bash każda powłoka jest niezależna, więc agent nigdy nie działa po uruchomieniu powłoki.
.bashrc
. Monitowanie hasła ssh tylko za pierwszym razem. Bezpiecznie moje życie. Dziękuję Ci.
ssh-add -D
usunąć wszystkie klucze.
Nie jestem pewien, czy chcę go polecić, ale kiedy utworzysz klucz i poprosisz o ustawienie hasła, po prostu naciśnij Enter i pomiń hasło.
Spójrz na ten link, aby dowiedzieć się, jak używać ssh-keygen
:
https://help.github.com/articles/working-with-ssh-key-passphrases/
Być może ssh-agent
może ci jakoś pomóc. Ale nie jestem pewien bez znajomości twojego obecnego systemu.
Wpisz to polecenie git w swojej lokalizacji repozytoriów „ ssh-keygen -p ”. Następnie pojawi się monit o podanie lokalizacji pliku kluczy , starego hasła i nowego hasła (które można pozostawić puste, aby nie było hasła). Nie wpisuj niczego w nowym haśle, spowoduje to usunięcie hasła