programing

git 원격 다른 SSH 포트와 함께 추가

testmans 2023. 5. 25. 21:36
반응형

git 원격 다른 SSH 포트와 함께 추가

Git에서 호스트가 다른 SSH 포트를 사용할 때 원격 오리진 서버를 추가하려면 어떻게 해야 합니까?

git remote add origin ssh://user@host/srv/git/example

이렇게 하면 됩니다.

git remote add origin ssh://user@host:1234/srv/git/example

1234사용 중인 ssh 포트입니다.

~/.ssh/config 파일을 편집해야 합니다.다음과 같은 것을 추가합니다.

Host example.com
    Port 1234

빠른 구글 검색은 저보다 더 자세히 설명하는 몇 가지 다른 자료를 보여줍니다.

사용하는 것보다ssh://프로토콜 접두사. SSH를 통해 Git에 액세스하기 위해 기존 URL 형식을 계속 사용할 수 있습니다. 단 한 번의 작은 변경 사항만 적용할 수 있습니다.기존 URL은 다음과 같습니다.

git@host:path/to/repo.git

대체 포트를 지정하려면 브래킷을 사용하여user@host포트를 포함한 부품:

[git@host:port]:path/to/repo.git

그러나 포트 변경이 일시적인 경우 저장소의 원격 URL을 변경하는 대신 다른 SSH 명령을 사용하도록 git에 지시할 수 있습니다.

export GIT_SSH_COMMAND='ssh -p port'
git clone git@host:path/to/repo.git # for instance

최선의 대답은 저에게 통하지 않습니다.나는 필요했습니다.ssh://처음부터

# does not work
git remote set-url origin user@example.com:10000/aaa/bbbb/ccc.git
# work
git remote set-url origin ssh://user@example.com:10000/aaa/bbbb/ccc.git

편집 중인 사용자의 경우./.git/config

[remote "external"]                                                                                                                                                                                                                                                            
  url = ssh://evanc@www.foo.com:11720/aaa/bbb/ccc                                                                                                                                                                                                               
  fetch = +refs/heads/*:refs/remotes/external/* 

gitlab의 경우 ssh 포트의 예는 2224이므로 다음과 같습니다.

git 원격 추가 ssh://git@192.168.1.100:2224/your_group/your_project.git

Git 서버에 연결하는 데 유사한 문제가 발생했습니다.

( ssh-port가 구성된 도커 컨테이너에 gitea 서버가 있습니다.2022표준 22 대신, 여기 예를 들어 보겠습니다.my-git-server.lan).

  1. ssh 키 재생성 생성(암호 없이 조용함)
$ ssh-keygen -q -N '' -b 4096 -f ~/.ssh/mykeyfile

(공개 키의 두 파일이 생성됩니다.mykeyfile.pub및 개인 키mykeyfile아무런 연장 없이)

  1. 공개 키의 내용을 표시하고 Git-server에서 프로필의 SSH 키에 복사/붙여넣기(Github에서 수행하는 방법과 유사)
$ cat ~/.ssh/mykeyfile.pub
  1. ssh-config에 다음 행을 추가하여 git-server의 호스트 이름, 포트 및 키 파일을 지정합니다.
$ nano ~/.ssh/config
Host my-git-server.lan
  HostName my-git-server.lan
  User git
  Port 2022
  IdentityFile ~/.ssh/mykeyfile

(사용자 이름은 항상 사용자 이름이어야 함) gitgit-server의 실제 사용자 이름에 관계없이)

  1. 공용 키를 사용하여 git-server에 대한 ssh 연결을 테스트하고... 성공 메시지를 수신합니다.
$ ssh -T git@my-git-server.lan
Hi there, username! You've successfully authenticated with the key named /Users/username/.ssh/mykeyfile.pub

-v "복용 모드"를 사용하여 오류를 분석합니다.

$ ssh -Tvvv git@my-git-server.lan

(다시 말하지만, 사용자 이름은 항상 git)

  1. 원격 주소 지정ssh://git@my-git-server.lan:2022/alex/myproject.git로컬 Git 저장소의 경우(다시 한 번, 사용자 Git 및 포트 2022) ... 원격 구성을 확인합니다.
$ cd your/local/git/repository/folder
$ git remote add my-git-server ssh://git@my-git-server.lan:2022/alex/myproject.git
$ git remote -v

(여기에서도 내 git-server에서 실제 사용자는 alex이고 저장소는 내 프로젝트임을 알 수 있습니다.)

완료! 이제 Git-server로 작업할 수 있습니다.fetch/commit/commit 등

(이것은 serverfault.com 에 있는 제 게시물의 복사본입니다.)


업데이트: 주석에 올바르게 표시된 대로 - 이미 구성되어 있으므로 원격 URL에 포트 2022를 지정할 필요는 없습니다.~/.ssh/config…로PORT 2022.

~/.ssh/config 파일을 올바르게 설정하는 방법을 확인하십시오.

여러 호스트에 대해 다른 설정을 쉽게 지정할 수 있습니다.

당신의 문제를 해결하기 위해 당신은 설정할 것입니다.

Host github.com 
Port 22 
Host * 
Port 1234

ssh_config 매뉴얼 페이지를 보십시오. 처음 몇 페이지에 대해 알아야 할 모든 내용이 설명되어 있습니다.

1.git 원격 추가 ${shortname} ${url}

2.git remote remove short name (리모트 제거)

3.git remote -v(현재 원격 목록 보기)

4.git 푸시 원격 분기

5.git 원격 이름 변경 AB(이름 A에서 B로 변경)

6.git 원격 show shortname(원격 정보 표시)

이 모든 것이 저에게 효과가 있습니다.

언급URL : https://stackoverflow.com/questions/3596260/git-remote-add-with-other-ssh-port

반응형