Git w Powershell mówi 'Could not find ssh-agent'
Mam zainstalowany git i działa świetnie w wierszu polecenia, ale kiedy otwieram powershell daje mi to Ostrzeżenie:
WARNING: Could not find ssh-agent
Mam uruchomiony konkurs i załadowany moim prywatnym kluczem. Działa to we wszystkich narzędziach gui i wierszu polecenia, ale nie w Powershell.
Co się dzieje?6 answers
Dla tych, którzy szukają szczegółowego wyjaśnienia, przeczytaj ten wpis na blogu . Poniżej cytat z wpisu na blogu. Ostatecznie ssh-agent.exe
musi być w ścieżce, lub rozwiązać w inny sposób.
EDIT: Wygląda na to, że większość ludzi nie przeszkadza w czytaniu połączonego bloga, a oryginalny Wyciąg nie cytuje pełnego rozwiązania, więc rozszerzyłem cytat z bloga poniżej.
Istnieje wiele sposobów rozwiązania błędu, w oparciu o upodobania do wszystkich innych odpowiedzi. Jeden znany do pracy jest cytowany poniżej. Skanuj chociaż inne odpowiedzi mogą być bardziej odpowiednie dla Ciebie.
Kiedy ponownie uruchomiłem monit PowerShell, powiedział mi, że nie może uruchomić agenta SSH.
Okazuje się, że nie był w stanie znaleźć "ssh-agenta.exe " wykonywalny. Ten plik znajduje się w C:\Program Files (x86)\Git \ bin. ale ten folder nie jest automatycznie dodawany do ścieżki przez msysgit.
Jeśli nie chcesz dodawać tej ścieżki do ścieżki systemowej, możesz zaktualizować swoją Skrypt profilu PowerShell, więc dotyczy tylko sesji PowerShell. Oto moja zmiana.
$env: path+="; "+ (Get-Item " Env: ProgramFiles (x86)").Wartość + "\git \ bin "
Na mojej maszynie ten skrypt jest na: C:\Users\Haacked\Documents\WindowsPowerShell\Microsoft.Powershell_profile.ps1
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
2020-06-20 09:12:55
Możesz dodać dwie linie na górze profilu (wpisz ise $profile
), aby rozwiązać ten szykowny problem bez zanieczyszczania ścieżki. Następnie uruchom . $profile
, aby przeładować swój profil.
Dla 32-bitowego git
Set-Alias ssh-agent "${env:ProgramFiles(x86)}\git\bin\ssh-agent.exe"
Set-Alias ssh-add "${env:ProgramFiles(x86)}\git\bin\ssh-add.exe"
Dla 64-bitowego git
Set-Alias ssh-agent "$env:ProgramFiles\git\usr\bin\ssh-agent.exe"
Set-Alias ssh-add "$env:ProgramFiles\git\usr\bin\ssh-add.exe"
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
2015-08-25 14:35:12
Jeśli używasz posh-git i otrzymujesz to Ostrzeżenie, możesz je wyłączyć, komentując (dodając znak " # " do) następującą linię
Start-SshAgent -Quiet
W pliku
Documents\WindowsPowerShell\Modules\posh-git\profile.example.ps1
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
2012-12-31 09:41:47
Rozgryzłem to. Musisz ustawić zmienną środowiskową GIT_SSH
na swoim komputerze, aby wskazywała na plink.exe
. Może to być ten zainstalowany z TortoiseHg / TortoiseGit /Git Extensions lub możesz go pobrać ze strony Putty Download Page , ale upewnij się, że używasz tego samego systemu. Najlepiej wylogować się z sesji systemu Windows, aby upewnić się, że zmienna zostanie ustawiona dla wszystkich wystąpień Eksploratora i okien poleceń.
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
2013-08-19 13:25:37
Aby uruchomić SSH-agenta z podanym kluczem napisałem ten kod:
$gitexepath = cmd /c where git
$gitbindir = Join-Path $gitexepath "..\..\bin"
$sshagentpath = Join-Path $gitbindir "ssh-agent.exe"
$sshaddpath = Join-Path $gitbindir "ssh-add.exe"
$keypath = "...key path...":
$sshagentres = cmd /c $sshagentpath
$env:SSH_AUTH_SOCK = [System.Text.RegularExpressions.Regex]::Match($sshagentres, "(?<=SSH_AUTH_SOCK=).+?(?=;)").Value
$env:SSH_AGENT_PID = [System.Text.RegularExpressions.Regex]::Match($sshagentres, "(?<=SSH_AGENT_PID=).+?(?=;)").Value
cmd /c $sshaddpath $keypath
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-12-18 13:23:14
To zostało naprawione; zobacz https://github.com/dahlbyk/posh-git/issues/160
Możesz zaktualizować posh-git .
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-05-23 12:34:34