![Git이 SSH 구성 파일에 설정된 ID를 사용하지 않는 이유는 무엇입니까?](https://rvso.com/image/726408/Git%EC%9D%B4%20SSH%20%EA%B5%AC%EC%84%B1%20%ED%8C%8C%EC%9D%BC%EC%97%90%20%EC%84%A4%EC%A0%95%EB%90%9C%20ID%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%A7%80%20%EC%95%8A%EB%8A%94%20%EC%9D%B4%EC%9C%A0%EB%8A%94%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F%20.png)
내 로컬에 연결하려고 합니다.기테아섬기는 사람. 포트 2222에서 통합 SSH 서버를 사용하도록 설정했습니다. Windows를 실행하고 있습니다. Gitea는 잘 돌아가고 있어요.
이제 다음을 사용하여 연결하고 싶습니다.Cygwin의 자식. 내 저장소에 대한 연결을 테스트하기 위해 다음을 사용하고 있습니다.ls-원격내가 사용하면 잘 작동하는 명령GIT_SSH_COMMAND
다음과 같은 옵션:
GIT_SSH_COMMAND="ssh -i ~/.ssh/id_rsa" git ls-remote --exit-code -h ssh://username@localhost:2222/username/Repo.git
다음으로 다음을 사용하여 삶을 단순화하고 싶습니다 ~/.ssh/config
.
host gitea
HostName localhost
Port 2222
IdentityFile ~/.ssh/id_rsa
User username
그러나 이는 오류로 인해 실패합니다 Unable to open connection
.
git ls-remote --exit-code -h ssh://gitea/username/Repo.git
문제: IdentityFile
적용되지 않습니다. 이것은 작동합니다:
GIT_SSH_COMMAND="ssh -i ~/.ssh/id_rsa" git ls-remote --exit-code -h ssh://gitea/username/Repo.git
~/.ssh/config
하지만 직접 연결하면 작동하기 때문에 내 말이 맞다고 확신합니다 ssh -vv gitea
. 출력(추출):
[...]
debug1: Connecting to localhost [::1] port 2222.
debug1: Connection established.
[...]
debug1: Offering public key: RSA SHA256:XXX /home/username/.ssh/id_rsa
debug2: we sent a publickey packet, wait for reply
debug1: Server accepts key: pkalg ssh-rsa blen 535
debug2: input_userauth_pk_ok: fp SHA256:XXX
debug1: Authentication succeeded (publickey).
Authenticated to localhost ([::1]:2222).
[...]
그렇다면 왜 from을 git
사용하지 않습니까 ?IdentityFile
~/.ssh/config
답변1
설정이 충분하다는 것이 밝혀졌습니다 GIT_SSH_COMMAND="ssh"
. 이는 git
다른 SSH 클라이언트를 사용하고 있음을 의미합니다. 아마도 시스템 경로에 있었던 OpenSSH 중 하나일 것입니다.
$ whereis ssh
ssh: /usr/bin/ssh.exe /cygdrive/c/WINDOWS/System32/OpenSSH/ssh.exe /usr/share/man/man1/ssh.1.gz
export GIT_SSH_COMMAND="/usr/bin/ssh"
다음에 추가하여 문제를 해결했습니다 .~/.bash_profile