스택큐힙리스트

Git SSH를 사용하여 사용자 정의 SSH로 git 클론하기 오류 본문

카테고리 없음

Git SSH를 사용하여 사용자 정의 SSH로 git 클론하기 오류

스택큐힙리스트 2023. 11. 25. 11:25
반응형

나는 커스텀 SSH 명령을 사용하여 Git 리포지토리를 클론하려고 시도하고 있습니다. GIT_SSH 환경 변수를 다음과 같이 설정하여 SSH 명령을 설정했습니다.


export GIT_SSH=/usr/bin/ssh -o StrictHostKeyChecking=no -i /home/me/my_private_key.


하지만 이전 명령 이후에 다음 명령을 실행하면 다음과 같은 이상한 오류가 발생합니다.


error: /usr/bin/ssh -o StrictHostKeyChecking=no -i /home/me/my_private_key를 실행할 수 없습니다.
fatal: 포크할 수 없음

이 문제를 해결하는 데 도움을 줄 수 있을까요?

답변 1

GIT_SSH 환경 변수에 옵션을 제공할 수 없습니다. git 매뉴얼에 다음과 같이 나와 있습니다:


   GIT_SSH
이 환경 변수가 설정되면 git fetch 및 git push는 원격 시스템에 연결해야 할 때 ssh 대신이 명령을 사용합니다.
$GIT_SSH 명령에는 정확히 두 개의 인수가 제공됩니다: URL에서의 username@host(또는 host만) 및 해당 원격 시스템에서 실행해야 할 셸 명령입니다.
GIT_SSH 목록에 넣고 싶은 프로그램 및 옵션을 전달하려면 프로그램과 옵션을 셸 스크립트에 래핑하고 GIT_SSH를 셸 스크립트를 참조하도록 설정해야 합니다.

적절한 구성이 포함된 .ssh/config 파일에 stanza를 추가하는 한 가지 옵션입니다:


Host bitbucket.org
StrictHostKeyChecking no
IdentityFile /home/me/my_private_key

다른 옵션은 GIT_SSH를 원하는 대로 수행하는 쉘 스크립트로 지정하는 것입니다. 예를 들어, /home/me/bin/bitbucket_ssh에 다음을 넣으세요:


#!/bin/sh
exec /usr/bin/ssh -o StrictHostKeyChecking=no -i /home/me/my_private_key $@

그런 다음 GIT_SSH/home/me/bin/bitbucket_ssh로 지정하세요.


가능한 경우에는 .ssh/config를 사용하는 것이 선호됩니다. 이렇게 하면 각 원격지에 대해 별도의 스크립트를 생성할 필요가 없습니다.

답변 2

제목: GIT_SSH를 사용한 사용자 정의 SSH로 Git clone하는 중 발생하는 오류에 대한 설명
서론:
Git은 분산 버전 관리 시스템으로 협업을 위해 많이 사용되는 도구입니다. Git을 사용할 때 가장 흔한 작업 중 하나는 원격 리포지토리를 복제해오는 것인데, 이를 위해 `git clone` 명령을 사용합니다. 그러나 사용자의 환경에 따라 기본 SSH 연결 대신 사용자 정의 SSH를 통해 복제를 해야 할 경우, `GIT_SSH` 환경 변수를 설정해야 합니다.
본 에세이에서는 `GIT_SSH`를 사용하여 Git clone을 수행하는 도중 발생하는 오류에 대해 다루고자 합니다.
본론:
1. SSH와 Git:
SSH(Secure Shell)는 네트워크 프로토콜로, 원격 시스템에 안전하게 접속하고 명령을 실행할 수 있도록 합니다. Git은 기본적으로 클라이언트와 서버 간에 SSH를 통해 통신합니다.
2. 사용자 정의 SSH:
일부 사용자는 다른 SSH 클라이언트를 기본값 대신 사용하고 싶을 수 있습니다. 이럴 때 사용자는 사용자 정의 SSH를 설정할 수 있습니다. Git도 사용자 정의 SSH를 지원하기 위해 `GIT_SSH` 환경 변수를 제공합니다.
3. Git clone과 GIT_SSH:
`git clone` 명령은 원격 리포지토리를 로컬로 복제하는 역할을 합니다. 보통 기본 SSH 연결을 사용하여 복제를 수행하지만, 사용자 정의 SSH를 사용해야 하는 경우 `GIT_SSH` 환경 변수를 설정해야 합니다.
4. `GIT_SSH` 환경 변수 설정:
`GIT_SSH` 환경 변수는 Git을 실행하는 동안 Git이 SSH 클라이언트로 사용할 프로그램의 경로를 지정합니다. 사용자는 자신의 환경에 맞는 SSH 클라이언트를 지정하고 해당 경로를 `GIT_SSH` 환경 변수에 설정하여 Git clone 시에 사용할 수 있습니다.
5. `GIT_SSH` 환경 변수 설정을 통한 Git clone:
사용자가 `GIT_SSH` 환경 변수를 정확하게 설정하고 Git clone 명령을 실행하면 Git은 지정된 사용자 정의 SSH 클라이언트를 사용하여 원격 리포지토리를 복제합니다. 이를 통해 기본값 대신 사용자가 원하는 SSH 클라이언트를 사용할 수 있고, Git clone 중에 발생하는 오류를 해결할 수 있습니다.
결론:
기본 SSH 연결 대신 사용자 정의 SSH를 사용하여 Git clone을 수행할 때 `GIT_SSH` 환경 변수 설정은 매우 중요합니다. 사용자가 알맞은 SSH 클라이언트 경로를 설정함으로써 오류를 방지하고 Git clone을 원활하게 진행할 수 있습니다. Git clone 시에 발생하는 오류를 최소화하여, 협업 환경에서 Git을 보다 효율적으로 사용할 수 있습니다.

반응형
Comments