programing

윈도우즈에서 ssh-agent와 함께 git 사용

mailnote 2023. 8. 14. 23:03
반응형

윈도우즈에서 ssh-agent와 함께 git 사용

저는 윈도우에 있습니다.git 및 posh-git(Windows PowerShell용 일부 도우미)를 설치했습니다.키를 추가할 수 있습니다.ssh-add그리고 github과 나의 웹서버로 인증할 수 있습니다.또한 PowerShell의 Git를 사용하여 저장소와 상호 작용할 수 있습니다.

하지만 제가 할 수 없는 한 가지가 있습니다: 저는 아톰 편집기에 git-plus를 사용합니다.그리고 나는 그것이 내 보고서에 적용되지 않습니다.내 문제가 뭐죠?

윈도우즈 2.7용 posh-gitgit에는 ssh-agent를 설정하는 데 필요한 모든 것이 포함되어 있어야 합니다.모듈을 설치한 후 다음과 같은 방법으로 에이전트를 시작할 수 있습니다.

Import-Module ~\Documents\WindowsPowerShell\Modules\posh-git\posh-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"
Start-SshAgent -Quiet

그런 다음 SSH_AUTH_SOCK 환경 변수가 설정된 것을 확인해야 합니다.

C:\Code\Go\src\bosun.org\cmd\scollector [master]> gci env:SSH_AUTH_SOCK

Name                           Value
----                           -----
SSH_AUTH_SOCK                  /tmp/ssh-6ORcVQvRBZ2e/agent.11668

명령을 실행할 때 사용할 수 있는 git-plus atom 패키지.Ctrl+Shift+H를 사용하여 atom에서 git 메뉴를 열고 push를 선택한 다음 원격 repo로 푸시할 수 있었습니다(실패해도 오류가 표시되지 않지만, 푸시한 새 브랜치가 있었습니다).

원자를 열기 전에 SSH-에이전트를 시작해야 SSH_AUTH_SOK 환경 변수가 설정됩니다.그래도 작동하지 않으면 PowerShell에서 ssh를 테스트하여 암호 없이 연결할 수 있는지 확인할 수 있습니다.

Set-Alias ssh "$env:ProgramFiles\git\usr\bin\ssh.exe"
ssh hostname

PowerShell에서 Git for 윈도우즈와 함께 제공되는 명령을 사용하여 ssh-agent를 실행할 수 있습니다.

 start-ssh-agent.cmd

그러면 ssh-agent가 시작됩니다.

그런 다음 키를 추가할 수 있습니다.

 ssh-add ~/.ssh/namneOfPrivateKey

다음 위치에서 확인: https://learn.microsoft.com/en-us/azure/devops/repos/git/use-ssh-keys-to-authenticate?view=azure-devops

몇 년 후, ssh 부분은 에서 분리되었습니다.posh-git이제 를 통해 사용할 수 있습니다.posh-sshell.

설치 방법:

PowerShellGet\Install-Module posh-sshell -Scope CurrentUser
PowerShellGet\Install-Module posh-git -Scope CurrentUser

ps1 파일:

Import-Module posh-git
Import-Module posh-sshell
Start-SshAgent

자동으로 모든 키 파일을 선택합니다.~/.ssh.

윈도우즈기본 OpenSSH 구현을 네이티브 ssh-agent 윈도우즈 서비스와 함께 사용하는 경우 git for 윈도우즈가 설치 시 해당 SSH 구현을 사용하도록 구성되었는지 확인합니다.

Screenshot of Git for Windows installer; choosing the SSH executable. The "Use external OpenSSH" option is selected.

번들 OpenSSH 설치를 사용한 경우 git는 기본적으로 이 설정으로 설정되며 윈도우즈의 기본 ssh-agent 서비스로 가져온 키를 사용하지 않습니다.메시지가 나타나면 "외부 OpenSSH 사용"을 선택해야 합니다.

설치할 때 이 항목을 선택하지 않은 경우 설치 관리자를 다시 실행하기만 하면 문제를 해결할 수 있습니다.

git config --global core.sshCommand "C:/Windows/System32/OpenSSH/ssh.exe"

OpenSSH 에이전트를 사용하도록 전체적으로 구성합니다.키 추가하기

ssh-add.exe <path to ssh key>

이 문제는 git가 ssh_agent를 찾지 못했다는 것입니다.자격 증명을 제공한 exe 내가 수행한 단계는 아래와 같습니다.

  1. ssh_agent.exe 파일 드라이브를 검색했습니다.
  2. profile.example.ps1 파일에 경로를 환경 경로로 추가했습니다.

$env:path += ";" + "C:\Program Files\Git\usr\bin"

언급URL : https://stackoverflow.com/questions/34638462/using-git-with-ssh-agent-on-windows

반응형