다잘하고싶어

SSH 개념 이해 / ec2에 자바, 젠킨스 설치하기. 본문

프로젝트회고

SSH 개념 이해 / ec2에 자바, 젠킨스 설치하기.

챙영잉 2022. 10. 25. 16:04

SSH

SSH란 Secure Shell Protocol, 즉 네트워크 프로토콜 중 하나로 컴퓨터와 컴퓨터가 인터넷과 같은 Public Network를 통해 서로 통신을 할 때 보안적으로 안전하게 통신을 하기 위해 사용하는 프로토콜

 

사용 예시

1. 데이터 전송 ( ex. 소스코드를 원격 저장소인 깃헙에 푸시할 때)

2. 원격제어 ( ex. AWS 의 인스턴스 서버에 접속하여 해당 머신에 명령을 내릴 때)

 

AWS의 인스턴스 서버에 접속하여 해당 머신에 명령을 내리기 위해서도 SSH를 통한 접속을 해야한다.

특히나 SSH를 사용하는 이유는? "보안" 때문.  FTP나 Telnet와 같은 프로토콜을 통해 정보를 주고받는다면, 누구나 해당 정보를 열어볼 수 있어 보안에 상당히 취약하다.

 

SSH 통신 방식

기본적으로 SSH는 한 쌍의 Key를 통해 접속하려는 컴퓨터와 인증 과정을 거치는데, 이 한 쌍의 Key는 다음과 같다.

  • Private Key
  • Public Key

1. Private Key와 Public Key를 통해 다른 컴퓨터와 통신을 하기 위해서는 먼저 Public Key를 통신하고하는 컴퓨터에 복사하여 저장

2. 요청을 보내는 클라이언트 사이드 컴퓨터에서 접속 요청을 할 때 응답을 하는 서버 사이드 컴퓨터에 복사되어 저장된 Public Key와 클라이언트 사이드에 해당 Public Key와 쌍을 이루는 Private Key와 비교

3. 서로 한 쌍의 Key인지 아닌지를 검사

4. 서로 관계를 맺고 있는 Key라는 것이 증명이 되면 비로소 두 컴퓨터 사이에 암호화된 채널이 형성

5. Key를 활용해 메시지를 암호화하고 복호화하며 데이터를 주고 받을 수 있게 됨.

 


SSH 로 EC2 접속 후 자바 설치하기

[EC2 접속]

1. 다운받은 키페어 파일의 권한을 열기

sudo chmod 400 "키페어 파일 경로"

2. 우분투 EC2 연결

ssh -i "키페어 파일 경로" ubuntu@"EC2 인스턴스의 아이피"

이때, 인스턴스의 아이피는 퍼블릭 IPv4 주소 임**

 

[자바 설치]

sudo apt-get update
sudo apt-get install openjdk-11-jdk

설치된 자바파일 확인하기

 


EC2 에 젠킨스 설치하기

cat /etc/*release

  • apt 업데이트
apt-get update
  • Jenkins 설치
sudo apt-get install jenkins
  • Jenkins 실행 관련
# 실행
sudo systemctl start jenkins
# 종료
sudo systemctl stop jenkins
# 재시작
sudo systemctl restart jenkins
# 상태 체크
sudo systemctl status jenkins

상태 체크 했을 때 아래처럼 나오면 된다.

처음 젠킨스 설치하면 기본 포트번호는 8080으로 되어있으므로 원하는 포트로 바꾸고 싶다면 

sudo vi /etc/default/jenkins

vim 에디터를 키고 포트번호를 원하는대로 바꿔준다 (나는 9090으로 변경함)

입력을 원하면 i 를 누른 후 맨 밑에 INSERT 가 뜨면 수정하면 된다.

수정을 완료하고 나가고 싶으면 esc를 누른 후

:wq! 를 입력하면 저장후 나가기가 된다.

그냥 나가고 싶다면 :qa! 입력하면 중단하고 나가기 됨.

혹시 포트번호를 변경했는데도 원래의 8080으로 연결된다면 jenkins.service 파일에 JENKINS_PORT 환경변수를 변경해줘야한다.

sudo vi /lib/systemd/system/jenkins.service

아래의 8080을 원하는 번호로 변경해준다.

변경하고 재실행한 후 

 

http://{EC2의 퍼블릭 IPv4 주소}:{설정한 포트번호} 에 접속하면 초기 비밀번호 화면이 나온다.

 

젠킨스 설정하기

 

이 정보는 계속 사용해야 하므로 잘 기억해두기!

설정을 완료한 후 save and continue 누르면 완료된다.

 

Jenkins에 GitHub 연동하기는 다음 포스팅으로!

 

Jenkins에 GitHub 연동하기

https://22chaechae.tistory.com/29

 

Jenkins에 GitHub 연동하기

Jenkins에 GitHub 연동하기 먼저 깃헙 토큰을 발급받아온다! 지금부터는 그 이후 단계! Jenkins 관리 → Manage Credentials → System → Global credentials → Add Credentials Gradle 설정 해당 프로..

22chaechae.tistory.com


REFERENCE

https://baked-corn.tistory.com/52

 

SSH란?

SSH 안녕하세요. 오늘은 제가 평소에 많이 사용은 하지만 정확히 그것이 어떻게 동작하는지에 대해서 알고 싶어서 공부를 해보고 간단하게 정리를 해보는 시간을 가지려고 합니다. 동아리에서

baked-corn.tistory.com