SSH를 통한 Git

SSH를 통한 Git (Git over SSH)

huggingface.co의 저장소에 SSH(Secure Shell Protocol)를 사용해 접근하고 데이터를 쓸 수 있어요. SSH로 연결하면 로컬 머신의 개인 키 파일로 인증합니다.

출처: 문서

본문

huggingface.co의 저장소에 SSH(Secure Shell Protocol)를 사용해 접근하고 데이터를 쓸 수 있습니다. SSH로 연결하면 로컬 머신의 개인 키 파일을 사용해 인증해요.

변경 푸시, 비공개 저장소 클론 같은 일부 작업은 huggingface.co 계정에 SSH 공개 키를 업로드해야 합니다.

기존 SSH 키를 사용하거나 huggingface.co 전용으로 새 키를 생성할 수 있어요.

기존 SSH 키 확인 (Checking for existing SSH keys)

기존 SSH 키가 있다면 그 키로 SSH를 통한 Git 작업을 인증할 수 있습니다.

SSH 키는 보통 Mac & Linux의 ~/.ssh, Windows의 C:\\Users\\<username>\\.ssh 아래에 있습니다. 그 디렉터리 아래의 파일을 나열해 다음 형태의 파일을 찾아보세요:

  • id_rsa.pub
  • id_ecdsa.pub
  • id_ed25519.pub

이 파일들이 내 SSH 공개 키를 담고 있어요.

~/.ssh 아래에 그런 파일이 없다면 새 키를 생성해야 합니다. 그렇지 않으면 기존 SSH 공개 키를 huggingface.co 계정에 추가할 수 있어요.

새 SSH 키페어 생성 (Generating a new SSH keypair)

머신에 SSH 키가 없다면 ssh-keygen으로 새 SSH 키 페어(공개 + 개인 키)를 생성할 수 있습니다:

$ ssh-keygen -t ed25519 -C "[email protected]"

프롬프트가 나오면 패스프레이즈를 입력할 것을 권장해요. 패스프레이즈는 추가 보안 계층으로, SSH 키를 사용할 때마다 입력하라는 비밀번호입니다.

새 키가 생성되면 ssh-add로 SSH 에이전트에 추가하세요:

$ ssh-add ~/.ssh/id_ed25519

기본 위치가 아닌 다른 위치에 SSH 키를 저장했다면 ~/.ssh/id_ed25519를 사용한 파일 위치로 바꿔야 합니다.

계정에 SSH 키 추가 (Add a SSH key to your account)

SSH로 비공개 저장소에 접근하거나 SSH로 변경을 푸시하려면 huggingface.co 계정에 SSH 공개 키를 추가해야 합니다. SSH 키는 사용자 설정에서 관리할 수 있어요.

계정에 SSH 키를 추가하려면 "Add SSH key" 버튼을 클릭하세요.

그런 다음 이 키의 이름을 입력하고(예: "Personal computer"), 아래 영역에 공개 SSH 키의 내용을 복사해 붙여넣습니다. 공개 키는 이전 단계에서 찾거나 생성한 ~/.ssh/id_XXXX.pub 파일에 있어요.

"Add key"를 클릭하면 끝! huggingface.co 계정에 SSH 키를 추가했습니다.

SSH 인증 테스트 (Testing your SSH authentication)

SSH 키를 huggingface.co 계정에 추가했다면 연결이 예상대로 동작하는지 테스트할 수 있습니다.

터미널에서 다음을 실행하세요:

$ ssh -T [email protected]

사용자 이름이 포함된 메시지가 보이면 축하합니다! 모든 것이 잘 진행된 것이며 SSH를 통한 Git을 사용할 준비가 된 거예요.

그렇지 않고 아래와 같은 메시지가 표시된다면 SSH 에이전트가 내 SSH 키를 실제로 사용하고 있는지 확인하세요.

Hi anonymous, welcome to Hugging Face.

HuggingFace의 SSH 키 지문 (HuggingFace's SSH key fingerprints)

공개 키 지문(public key fingerprints)은 원격 서버에 대한 연결을 검증하는 데 사용할 수 있어요.

HuggingFace의 공개 키 지문은 다음과 같습니다:

SHA256:aBG5R7IomF4BSsx/h6tNAUVLhEkkaNGB8Sluyh/Q/qY (ECDSA) SHA256:skgQjK2+RuzvdmHr24IIAJ6uLWQs0TGtEUt3FtzqirQ (DSA - deprecated) SHA256:dVjzGIdV7d6cwKIeZiCoRMa2gMvSKfGZAvHf4gMiMao (ED25519) SHA256:uqjYymysBGCXXiMVebB8L8RIuWbPSKGBxQQNhcT5a3Q (RSA)

HuggingFace 호스트를 수동으로 검증하지 않도록 ~/.ssh/known_hosts 파일에 다음 ssh 키 항목을 추가할 수 있습니다:

hf.co ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDtPB+snz63eZvTrbMY2Qt39a6HYile89JOum55z3lhIqAqUHxLtXFd+q+ED8izQvyORFPSmFIaPw05rtXo37bm+ixL6wDmvWrHN74oUUWmtrv2MNCLHE5VDb3+Q6MJjjDVIoK5QZIuTStlq0cUbGGxQk7vFZZ2VXdTPqgPjw4hMV7MGp3RFY/+Wy8rIMRv+kRCIwSAOeuaLPT7FzL0zUMDwj/VRjlzC08+srTQHqfoh0RguZiXZQneZKmM75AFhoMbP5x4AW2bVoZam864DSGiEwL8R2jMiyXxL3OuicZteZqll0qfRlNopKnzoxS29eBbXTr++ILqYz1QFqaruUgqSi3MIC9sDYEqh2Q8UxP5+Hh97AnlgWDZC0IhojVmEPNAc7Y2d+ctQl4Bt91Ik4hVf9bU+tqMXgaTrTMXeTURSXRxJEm2zfKQVkqn3vS/zGVnkDS+2b2qlVtrgbGdU/we8Fux5uOAn/dq5GygW/DUlHFw412GtKYDFdWjt3nJCY8=
hf.co ssh-dss AAAAB3NzaC1kc3MAAACBAORXmoE8fn/UTweWy7tCYXZxigmODg71CIvs/haZQN6GYqg0scv8OFgeIQvBmIYMnKNJ7eoo5ZK+fk1yPv8aa9+8jfKXNJmMnObQVyObxFVzB51x8yvtHSSrL4J3z9EAGX9l9b+Fr2+VmVFZ7a90j2kYC+8WzQ9HaCYOlrALzz2VAAAAFQC0RGD5dE5Du2vKoyGsTaG/mO2E5QAAAIAHXRCMYdZij+BYGC9cYn5Oa6ZGW9rmGk98p1Xc4oW+O9E/kvu4pCimS9zZordLAwHHWwOUH6BBtPfdxZamYsBgO8KsXOWugqyXeFcFkEm3c1HK/ysllZ5kM36wI9CUWLedc2vj5JC+xb5CUzhVlGp+Xjn59rGSFiYzIGQC6pVkHgAAAIBve2DugKh3x8qq56sdOH4pVlEDe997ovEg3TUxPPIDMSCROSxSR85fa0aMpxqTndFMNPM81U/+ye4qQC/mr0dpFLBzGuum4u2dEpjQ7B2UyJL9qhs1Ubby5hJ8Z3bmHfOK9/hV8nhyN8gf5uGdrJw6yL0IXCOPr/VDWSUbFrsdeQ==
hf.co ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBL0wtM52yIjm8gRecBy2wRyEMqr8ulG0uewT/IQOGz5K0ZPTIy6GIGHsTi8UXBiEzEIznV3asIz2sS7SiQ311tU=
hf.co ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINJjhgtT9FOQrsVSarIoPVI1jFMh3VSHdKfdqp/O776s

더 알아보기 (Learn more)

huggingface.co에 SSH 키(ssh-keygen -t ed25519, ssh-add)로 인증해 git over SSH로 푸시·클론할 수 있어요. 공개 키는 settings의 "Add SSH key"로 등록하고, ssh -T [email protected]로 연결을 테스트합니다. 알려진 호스트 지문과 known_hosts 항목도 문서에 제공되므로 연결을 안전하게 검증할 수 있어요.