Server&DevOps

A서버(구글 클라우드)에서 B서버(AWS)로 SSH 통신하는 방법

킨글 2024. 9. 2. 22:57
  • A 서버 구글 클라우드, B 서버 AWS WAS로 구성해서 jenkins 자동배포를 구현하고자 SSH 통신을 하였다.
  • B서버에서 SSH 키 생성
    • ssh-keygen -t rsa -f ~/.ssh/my-gcp-key -C "your_email@example.com"
    • pem 파일이고, 확장자 없이 생성됨(비밀키)
  • B서버의 SSH 관련 파일과 폴더의 권한 변경
    • chmod 700 ~/.ssh
    • chmod 600 ~/.ssh/authorized_keys
  • SSH 키를 A 서버(구글 클라우드)에 추가
    • VM 인스턴스 페이지로 돌아갑니다.
    • SSH로 접속할 인스턴스를 찾습니다.
    • 인스턴스의 "편집" 버튼을 클릭합니다.
    • "SSH 키" 섹션으로 스크롤합니다.
    • "SSH 키 추가" 버튼을 클릭합니다.
    • 다음 명령어로 생성된 공개 키를 복사합니다:
      cat ~/.ssh/my-gcp-key.pub
  • SSH 파일을 A서버(구글 클라우드)에 추가
    • Googld Cloud SDK 설치 https://cloud.google.com/sdk/docs/install
    • 설치 후 로그인 (인증)
    • 파일 복사 
    • gcloud compute scp ./my-gcp-key.pem 계정@instance-id:/원하는위치 --zone us-central1-b
  • (A서버에서 확인한 my-gcp-key.pub 파일의 내용과 B서버의 ~/.ssh/authorized_keys 파일에 있는 공개 키가 일치하는지 확인)
  • A서버의 SSH 키인 my-gcp-key를 통해서 B서버로 ssh 접속 테스트
    • ssh -i ./my-gcp-key ec2-user@ec2-111-222-122-146.compute-1.amazonaws.com "ls"