ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Bitbucket Cloud SSH 호스트 키 업데이트 [Bitbucket 여러 계정 SSH key 설정 조치 필요]
    Eat Smart 2023. 6. 5. 01:24
    반응형
    SMALL

    Bitbucket Cloud SSH 호스트 키 업데이트 [조치 필요]



    최근 Bitbucket의 SSH 호스트 키의 암호화된 사본이 제3자 자격 증명 관리 공급업체의 데이터 유출에 포함되었다는 사실을 알게 되었습니다. SSH 프로토콜은 호스트 키를 사용하여 git pull이 Bitbucket 클라우드에 대한 SSH 연결을 설정하는 경우와 같이 모든 SSH 연결에 대해 신뢰할 수 있는 서버의 ID를 설정합니다. 이에 대한 응답으로 Bitbucket은 오늘 두 개의 새로운 SSH 호스트 키를 발급했으며 2023년 6월 20일에 현재 호스트 키를 교체할 예정입니다 . 이 블로그를 검토하고 가능한 한 빨리 아래에 설명된 해당 단계를 완료하십시오.

    우리는 손상 위험이 낮다고 생각하지만 호스트 키를 사전에 교체함으로써 이전 호스트 키가 해독될 경우 향후 위험을 완화합니다. 우리가 호스트 키를 변경하지 않았다면 미래에 공격자가 이미 손상된 네트워크와 함께 이전 호스트 키를 잠재적으로 사용하여 클라이언트가 악의적인 호스트에 연결하고 신뢰하도록 속일 수 있었을 것입니다.

    위협 행위자는 이전 호스트 키를 사용하여 Bitbucket Cloud의 데이터에 직접 액세스하거나 개인 SSH 키에 액세스할 수 없음을 보장하고 싶습니다.

    호스트 키 교체가 방해가 될 수 있음을 이해합니다. 귀하의 보안은 항상 우리의 최우선 순위이며 능동적으로 행동하는 것이 최선의 접근 방식이라고 믿습니다.

    자세한 사항은 아래 내용을 읽어주세요.

    Bala Sathiamurthy, CISO/보안 책임자

    변경 사항

    새 호스트 키 추가됨

    2023년 5월 15일 2300 UTC 에 ECDSA 및 Ed25519 알고리즘을 사용하여 두 개의 새로운 호스트 키를 추가했습니다.

      ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBPIQmuzMBuKdWeF4+a2sjSSpBK0iqitSQ+5BM9KhpexuGt20JpTVM7u5BDZngncgrqDMbWdxMWWOGtZ9UgbqgZE= bitbucket.org
    
    ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIazEu89wgQZ4bqs3d63QSMzYVa0MuJ2e2gKTKqu+UUO bitbucket.org
    

    해당 지문은 다음과 같습니다.

      256 SHA256:FC73VB6C4OQLSCrjEayhMp9UMxS97caD/Yyi2bhW/J0 bitbucket.org (ECDSA)
    
    256 SHA256:ybgmFkzwOSotHTHLJgHO0QN8L0xErw6vd0VhFA9m3SM bitbucket.org (ED25519)
    

    RSA 호스트 키 순환

    2023년 6월 20일 1700 UTC 에 현재 RSA 호스트 키를 다음으로 교체합니다.

      ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDQeJzhupRu0u0cdegZIa8e86EG2qOCsIsD1Xw0xSeiPDlCr7kq97NLmMbpKTX6Esc30NuoqEEHCuc7yWtwp8dI76EEEB1VqY9QJq6vk+aySyboD5QF61I/1WeTwu+deCbgKMGbUijeXhtfbxSxm6JwGrXrhBdofTsbKRUsrN1WoNgUa8uqN1Vx6WAJw1JHPhglEGGHea6QICwJOAr/6mrui/oB7pkaWKHj3z7d1IC4KWLtY47elvjbaTlkN04Kc/5LFEirorGYVbt15kAUlqGM65pk6ZBxtaO3+30LVlORZkxOh+LKL/BvbZ/iRNhItLqNyieoQj/uh/7Iv4uyH/cV/0b4WDSd3DptigWq84lJubb9t/DnZlrJazxyDCulTmKdOR7vs9gMTo+uoIrPSb8ScTtvw65+odKAlBj59dhnVp9zd7QUojOpXlL62Aw56U4oO+FALuevvMjiWeavKhJqlR7i5n9srYcrNV7ttmDw7kf/97P5zauIhxcjX+xHv4M= bitbucket.org
    

    해당 RSA 키 지문은 다음과 같습니다.

      3072 SHA256:46OSHA1Rmj8E8ERTC6xkNcmGOw9oFxYr0WF6zWW8l1E bitbucket.org (RSA)
    

    DSA 호스트 키 제거

    2023년 6월 20일 1700 UTC 에 DSA 호스트 키도 제거합니다. 이 키는 완전히 작동을 멈춥니다.


    해야 할 일

    IDE 및 CI/CD 빌드 시스템과 같은 다른 애플리케이션을 포함하여 bitbucket.org에 연결하는 각 SSH 클라이언트에 최신 ECDSA 또는 Ed25519 호스트 키를 사용하도록 즉시 전환하는 것이 좋습니다. Bitbucket Pipelines 빌드에 필요한 조치는 없습니다.

    많은 SSH 클라이언트는 새 호스트 키 중 하나로 자동 전환되지만 연결된 각 SSH 클라이언트에 대해 이를 확인해야 합니다. 아래 지침에 따라 클라이언트가 새 호스트 키로 자동 전환되었는지 확인하십시오. 클라이언트가 자동으로 전환되지 않은 경우 2단계와 3단계에 따라 클라이언트 구성을 수동으로 업데이트해야 합니다.

    1. 클라이언트가 영향을 받는지 확인

    SSH 클라이언트가 사용 중인 호스트 키를 확인하려면 다음 명령을 실행할 수 있습니다.

      $ ssh git@bitbucket.org host_key_info
    You are using host key with fingerprint:
    ssh-ed25519 SHA256:ybgmFkzwOSotHTHLJgHO0QN8L0xErw6vd0VhFA9m3SM
    
    See https://bitbucket.org/blog/ssh-host-key-changes for more details.
    

    출력에 새 ECDSA 또는 Ed25519 호스트 키 지문이 표시됩니까?

    • 예! SSH 클라이언트가 자동으로 새 호스트 키로 전환되었으며 이 클라이언트에 대해 추가 조치가 필요하지 않습니다.
    • 아니요. 2단계로 진행하십시오.

    2. 새 호스트 키를 신뢰하도록 클라이언트 구성

    OpenSSH(또는 호환 가능) 클라이언트의 출력에 새 지문이 나타나지 않으면 known_hosts다음 명령을 사용하여 파일에서 신뢰할 수 있는 새 호스트 키를 구성할 수 있습니다.

      $ ssh-keygen -R bitbucket.org && curl https://bitbucket.org/site/ssh >> ~/.ssh/known_hosts
    

    다른 SSH 클라이언트를 사용하는 경우 해당 구성을 업데이트하는 방법에 대한 설명서를 참조해야 합니다.

    3. 성공적인 키 추가 확인

    1단계의 명령을 다시 실행하여 클라이언트가 이제 새 호스트 키를 신뢰하는지 확인하십시오.


    문제 해결 시나리오

    단계를 따랐지만 새 호스트 키 지문이 내 클라이언트 출력에 나타나지 않습니까?

    특정 SSH 클라이언트의 설명서를 참조하여 다음을 확인하십시오.

    • 클라이언트가 ECDSA/Ed25519보다 RSA를 선호하도록 구성되지 않았습니다.
    • 귀하의 클라이언트는 의 구성을 사용하고 있습니다 ~/.ssh/known_hosts. 그렇지 않으면 새 호스트 키 중 하나 또는 모두를 사용하도록 수동으로 재구성해야 합니다.

    내 클라이언트는 RSA 호스트 키 알고리즘만 지원합니다.

    2023년 6월 20일에 RSA 키를 교체해야 합니다.

    내 Bamboo 빌드가 트리거되지 않습니다.

    Bamboo 인스턴스가 신뢰할 수 있는 키를 사용하도록 구성된 경우 관리자는 새 ECDSA/Ed25519 호스트 키를 신뢰하도록 구성을 업데이트해야 합니다.

    내 SSH 클라이언트가 손상된 것 같습니다. 어떻게 해야 합니까?

    소수의 클라이언트에는 이전 RSA 키에 대해 새 ECDSA 또는 Ed25519 호스트 키의 유효성을 검사하는 구성이 있어 연결이 실패할 수 있습니다. xcrypto/ssh여기에는 Go 또는 C와 같은 저수준 라이브러리를 사용하는 서비스가 포함될 수 있습니다. libssh2새 ECDSA 또는 Ed25519 호스트 키를 신뢰하도록 라이브러리 구성을 업데이트하여 이 문제를 해결할 수 있습니다.

    위에서 설명한 단계를 수행한 후에도 여전히 도움이 필요한 경우 https://support.atlassian.com/contact/#/ 에서 Bitbucket 클라우드 지원 티켓을 제출하여 지원 팀에 도움을 요청할 수 있습니다.

    altssh.bitbucket.org를 통해 연결을 실행하기 위해 포트 443을 사용하고 있습니다. known_hosts 파일을 어떻게 업데이트합니까?

    known_hosts다음을 실행하여 altssh.bitbucket.org 지문을 가져와서 파일에 추가할 수 있습니다 .

      ssh-keygen -R '[altssh.bitbucket.org]:443' && curl https://bitbucket.org/site/ssh | sed 's/bitbucket.org/[altssh.bitbucket.org]:443/' >> ~/.ssh/known_hosts
    

    자주하는 질문

    호스트 키는 무엇을 합니까?

    git pullSSH 프로토콜은 호스트 키를 사용하여 bitbucket.org에 대한 SSH 연결을 설정할 때와 같이 모든 SSH 연결에 대해 신뢰할 수 있는 서버의 ID를 설정합니다 .

    RSA 호스트 키를 교체하는 이유는 무엇입니까?

    우리는 최근 Bitbucket의 SSH 호스트 키의 암호화된 사본이 타사 자격 증명 관리 공급업체의 데이터 유출에 포함되었다는 사실을 알게 되었습니다. 우리는 손상 위험이 낮다고 생각하지만 호스트 키를 사전에 교체함으로써 이전 호스트 키가 해독될 경우 향후 위험을 완화합니다. 우리가 호스트 키를 변경하지 않았다면 미래에 공격자가 이미 손상된 네트워크와 함께 이전 호스트 키를 잠재적으로 사용하여 클라이언트가 악의적인 호스트에 연결하고 신뢰하도록 속일 수 있었을 것입니다.

    위협 행위자는 이전 호스트 키를 사용하여 Bitbucket Cloud의 데이터에 직접 액세스하거나 개인 SSH 키에 액세스할 수 없습니다.

    호스트 키 교체가 방해가 될 수 있음을 이해합니다. 귀하의 보안은 항상 우리의 최우선 순위이며 능동적으로 행동하는 것이 최선의 접근 방식이라고 믿습니다.

    RSA 호스트 키를 즉시 교체하지 않는 이유는 무엇입니까?

    우리는 고객에게 임박하고 중대한 위험이 있다고 생각하지 않습니다. 클라이언트가 알려진 호스트 키를 계속 사용하도록 허용하면 사용자는 새 키에 대한 신뢰를 신중하고 안전하게 설정할 수 있습니다.

    측정된 접근 방식을 취함으로써 우리는 사용자가 새 키로 안전하게 전환할 수 있는 시간을 제공하고 워크플로 중단을 최소화합니다.

    영향을 받는 고객 데이터가 있습니까?

    아니요, SSH 호스트 키는 Bitbucket Cloud의 데이터를 보호하지 않습니다.

    영향을 받는 고객 계정 또는 자격 증명이 있습니까?

    아니요, SSH 호스트 키는 Bitbucket Cloud의 사용자 인증에 관여하지 않습니다.

    사용자 SSH 키가 영향을 받습니까?

    아니요, 사용자 SSH 키에는 영향이 없습니다.

    Bitbucket Data Center가 영향을 받습니까?

    아니요, Bitbucket Data Center에는 영향이 없습니다.

    호스트 키를 정기적으로 교체할 예정입니까?

    현재로서는 향후 순환 계획이 없습니다.

    Git over HTTPS가 영향을 받습니까?

    아니요, SSH를 통한 Git만 영향을 받습니다.

    원격을 확인하여 특정 리포지토리가 SSH를 사용하고 있는지 확인할 수 있습니다.

    원격이 시작되면 httpsHTTPS를 통해 Git을 사용하는 것이며 영향을 받지 않습니다.

      $ git remote -v
    origin    https://bitbucket.org/test/repository (fetch)
    origin    https://bitbucket.org/test/repository (push)
    

    리모컨이 로 시작되면 git@bitbucket.orgSSH를 통해 Git을 사용하고 있는 것이며 조치가 필요할 수 있습니다(아래 참조).

      $ git remote -v
    origin      git@bitbucket.org:/test/repository.git (fetch)
    origin      git@bitbucket.org:/test/repository.git (push)
    

    내 SSH 연결이 이로 인해 영향을 받는지 어떻게 알 수 있습니까?

    호스트 키 정보 SSH 명령으로 특정 클라이언트를 확인할 수 있습니다.

      $ ssh git@bitbucket.org host_key_info
    You are using host key with fingerprint:
    ssh-rsa SHA256:zzXQOXSRBEiUtuE8AikJYKwbHaxvSc0ojez9YXaGp1A
    
    WARNING: The host key your client is using will be removed in the near future.
    
    Please configure your client to trust a new host key.
    
    See https://bitbucket.org/blog/ssh-host-key-changes for more details.
    

    클라이언트가 이미 ECDSA 또는 Ed25519 호스트 키를 사용하고 있다면 모든 설정이 완료된 것입니다.

    클라이언트가 RSA 또는 DSA 호스트 키를 사용하는 경우 위의 단계를 참조하여 클라이언트 구성을 업데이트하십시오.

    Bitbucket 파이프라인을 변경해야 합니까?

    아니요, 빌드에 제공된 신뢰할 수 있는 호스트 키는 Atlassian에서 업데이트합니다.

    DSA 지원을 중단하는 이유는 무엇인가요?

    DSA 알고리즘은 2015년 OpenSSH에서 더 이상 사용되지 않습니다. 대신 더 강력한 ECDSA, Ed25519 또는 RSA 암호화 알고리즘을 사용하도록 클라이언트 구성을 업데이트해야 합니다.

     

    Bitbucket 여러 계정 SSH key 설정 : Permission denied (publickey). - Mac

     
     

    오류 상황

    git@bitbucket.org: Permission denied (publickey).

     

    Bitbucket에 있는 프로젝트를 clone시 발생한 오류 

     

    등록되진 않은 기기에서  clone, push 가 일어날 때의 인증오류 

    ssh를 등록하지 않아 접근권한이 없는 상태로 clone,push를 해서 그렇다!

     

    그렇다면 ssh key를 생성하고 등록해보자!

    + 필자는 개인용, 회사용 구분을 위해 계정 여러개를 생성했어요!


    1. ssh key 생성 > 엔터 

    ssh-keygen -t rsa -C "이메일"

     

    2. 키 생성

     

    2-1) 키 이름 기본으로 설정 시 (id_rsa)

    > 엔터

    Generating public/private rsa key pair.
    Enter file in which to save the key (/Users/사용자이름/.ssh/id_rsa):

     

    2-1) 키 이름 설정 시 

    : 옆에 경로 포함 바꾸고 싶은 이름 설정

    Generating public/private rsa key pair.
    Enter file in which to save the key (/Users/사용자이름/.ssh/id_rsa):/Users/사용자이름/.ssh/바꾸고 싶은 이름
    
    Enter file in which to save the key (/Users/사용자이름/.ssh/id_rsa):/Users/사용자이름/.ssh/id_rsa_ink-0_company

     

     

    저장 과정 

     

     

    3) 생성한 ssh key  추가 및 저장 

    추가

    ssh-add ~./ssh/id_rsa // 2-1)의 경우
    ssh-add ~/.ssh/변경한 이름  // 2-1)의 경우
    ssh-add ~/.ssh/id_rsa_ink-0_company // 예시

    저장

    ssh-add -l

     

     

     

    4) config 파일 생성

    보안키를 repo 별로 따로 사용하기 위해 .ssh 렉토리에 config 파일 생성

    vi ~/.ssh/config

     

     

    config파일 내용

    여러개일 경우이며 필자는 id_rsa_ink-0_home , id_rsa_ink-0_company라는 이름으로 ssh key 를 두개 생성한 상황

    •  id_rsa_ink-0_home : github 개인용
    • id_rsa_ink-0_company: bitbucket 회사용
    # Personal account-ink-0_home // 설명 주석
    	Host github.com-ink-0_home // 접속 주소
    	UseKeychain yes // MacOS를 위한 키체인 사용여부 설정
    		HostName github.com
            	IdentityFile ~/.ssh/id_rsa_ink-0_home // ssh key 경로
    # Personal account-ink-0_company
    	Host bitbucket.org-ink-0_company
    	UseKeychain yes
    		HostName bitbucket.org
    		IdentityFile ~/.ssh/id_rsa_ink-0_company

     

     

     

     

    5) Bitbucket에 ssh key추가

     

    계정설정에 공개키 추가

     

    Bitbucket 개인설정 > SSH keys > Add keys

     

    터미널을 다시 열어 아래 명령어를 입력하고 나온 공개키를 복사한다.

    터미널 > cat ~/ .ssh/id_rsa

     

     

    Label엔 원하는 이름을 넣고

    key에 ssh-rsa로 시작하는 복사해온 key 값을 넣고 추가!

     

     

     

    5) clone 

    git clone git@bitbucket.org-{Host설정이름}:{Bitbucket clone 주소}

     

    반응형

     

    SMALL

     

    반응형
    LIST
Designed by Tistory.