GitHub 작업 SSH를 통해 AWS EC2에 연결

4939 단어
이 자습서는 타사 작업 없이 AWS EC2에 SSH로 연결하는 방법을 보여줍니다.

시작하기 전에 다음 세 가지가 있는지 확인하고 이를 사용하여 EC2에 연결할 수 있는지 확인하십시오.
  • AWS EC2 원격 호스트 이름
  • AWS EC2 사용자 이름
  • AWS EC2 SSH 개인 키

  • GitHub에 개인 키 추가



    GitHub를 사용하면 민감한 정보를 "비밀"에 저장할 수 있습니다. "새 저장소 비밀"을 클릭하여 개인 키를 추가하고 저장하십시오.



    별도의 사용자로 EC2에 대한 새 사용자를 추가하려면 this tutorial을 확인하면 됩니다.

    워크플로 추가



    리포지토리의 ".github"디렉터리 아래에 "workflows"디렉터리를 추가합니다. 그런 다음 yml 파일을 만들어 GitHub 작업을 정의하고 다음 콘텐츠를 yml 파일에 넣고 "!!"로 시작하는 모든 문자열을 바꿉니다. 자신의 가치에. 이제 "main"브랜치로 요청을 푸시하거나 풀링하여 GitHub Actions를 트리거할 수 있습니다.

    name: ssh-into-aws-ec2
    
    on:
      push:
        branches: [ "main" ]
      pull_request:
        branches: [ "main" ]
    
    env:
    #  bucket_name: "<example-bucket-name>"
      AWS_REGION: !!your-aws-region
      REMOTE_HOST: "!!replace with your aws remote host"
      REMOTE_USER: "!!replace with your ec2 username"
    
    permissions:
      contents: read
      id-token: write
    
    jobs:
      test:
        runs-on: ubuntu-latest
    
        steps:
          - name: Git clone the repository
            uses: actions/checkout@v3
          - name: Configure SSH
            run: |
              mkdir -p ~/.ssh/
              echo "$SSH_KEY" > ~/.ssh/github-actions-key
              chmod 600 ~/.ssh/github-actions-key
              cat >>~/.ssh/config <<END
              Host ec2
                HostName $SSH_HOST
                User $SSH_USER
                IdentityFile ~/.ssh/github-actions-key
                StrictHostKeyChecking no
              END
            env:
              SSH_HOST: ${{ env.REMOTE_HOST }}
              SSH_USER: ${{ env.REMOTE_USER }}
              SSH_KEY: ${{ secrets.!!secrets_key_name }} 
          - name: List home directory
            run: ssh ec2 'ls -la'
    


    내 모든 기술 기사를 볼 수 있습니다here.

    좋은 웹페이지 즐겨찾기