기밀 문서 제출을 위한 SSH 구성

5792 단어 도구 사용
로컬에서git 제출 코드를 Github에 사용할 때 항상 비밀번호를 입력해야 한다. 본고는 SSH를 설정하여 기밀 제출 코드를 Github에 제출하지 않는 방식을 소개한다.
  • 먼저 현재 사용자 집 디렉터리에 .ssh라는 폴더가 있는지 확인한다.존재하지 않으면 새로 만들기;존재하면 이 디렉터리에 생성된 키 쌍이 있는지 확인하십시오.일반적으로 공개 키 파일의 이름은 다음과 같습니다.
  • id_dsa.pub
  • id_ecdsa.pub
  • id_ed25519.pub
  • id_rsa.pub

  • 해당 개인 키 파일의 이름은 일반적으로 다음과 같습니다.
  • id_dsa
  • id_ecdsa
  • id_ed25519
  • id_rsa

  • 이미 존재하는 키 쌍이 있으면 이미 존재하는 키 쌍을 사용할 수 있습니다.이미 존재하는 키의 비밀번호를 변경하려면 다음과 같은 명령을 사용할 수 있습니다:
    $ ssh-keygen -p
    Enter file in which the key is (/c/Users/Bob/.ssh/id_rsa): /c/Users/Bob/.ssh/id_ecdsa
    Enter old passphrase:
    Key has comment '[email protected]'
    Enter new passphrase (empty for no passphrase):
    Enter same passphrase again:
    Your identification has been saved with the new passphrase.
    
    키 쌍이 없거나 새 키 쌍을 사용하려면 2단계 조작에 따라 새 키 쌍을 생성하십시오.
  • Git Bash를 열고 작업 디렉터리를 현재 사용자 홈 디렉터리의 .ssh 디렉터리로 전환한 다음 다음과 같은 명령을 실행합니다.
    $ ssh-keygen -t rsa -b 4096 -C "[email protected]"
    
    그 중에서 -t 파라미터는 키를 생성할 때 사용하는 암호화 알고리즘을 지정하고, -b 파라미터는 키의 길이를 지정하는 데 사용됩니다. (주의: 서로 다른 암호화 알고리즘이 지정할 수 있는 키의 길이가 다름), -C 파라미터는 키의 라벨을 지정하는 데 사용됩니다.상기 명령은 [email protected] 탭으로 된 키 쌍을 생성하고, 키를 저장하는 파일의 이름과 경로 (기본 이름과 경로를 사용할 수 있음), 암호화로 암호화할 필요가 있는지 여부를 알려 줍니다.
  • 텍스트 편집기를 사용하여 위에서 생성한 공공 키 파일을 열고 그 중의 모든 내용을 복사한다.Github의 SSH 관리 인터페이스를 열고 키를 추가합니다. 이름은 마음대로 설정합니다. 키의 내용은 복사된 키의 내용입니다. 붙여넣고 저장하면 키 추가가 완료됩니다.
  • Git Bash에서 다음 명령을 입력하여 SSH 프록시 서비스를 시작합니다.
    $ eval $(ssh-agent -s)
    Agent pid 59678
    
    다음 명령을 사용하여 생성된 개인 키를 SSH 프록시에 추가합니다.
    $ ssh-add ~/.ssh/id_rsa  # id_rsa         
    
  • SSH 프록시를 시작하는 스크립트를 만듭니다. 방법은 다음과 같습니다. 현재 사용자의 홈 디렉터리에 .profile라는 파일을 만들고 다음과 같은 내용을 입력한 후에 저장합니다.
    env=~/.ssh/agent.env
    agent_load_env () { test -f "$env" && . "$env" >| /dev/null ; }
    agent_start () {
      (umask 077; ssh-agent >| "$env")
      . "$env" >| /dev/null ; }
    agent_load_env
    # agent_run_state: 0=agent running w/ key; 1=agent w/o key; 2= agent not running
    agent_run_state=$(ssh-add -l >| /dev/null 2>&1; echo $?)
    if [ ! "$SSH_AUTH_SOCK" ] || [ $agent_run_state = 2 ]; then
        agent_start
        ssh-add
    elif [ "$SSH_AUTH_SOCK" ] && [ $agent_run_state = 1 ]; then
        ssh-add
    fi
    unset env
    
    이 스크립트는 Git Bash를 열 때마다 SSH 프록시 서비스를 자동으로 시작합니다.
  • Git Bash를 종료하고 재부팅하면 키 쌍을 만들 때 설정한 비밀번호를 입력해야 하며, 정확한 비밀번호를 입력하면 기허브에 기밀 없이 제출할 수 있습니다.
  • 좋은 웹페이지 즐겨찾기