리눅스, aws

23/03/21) Linux 1강 - 리눅스os 와 역사, 리눅스 사용 위한 aws 기본 세팅

JadeStone 2023. 3. 21. 14:10

참고 노션 링크:
1강 - 개발자가 알아야 하는 리눅스 명령문

https://www.notion.so/1-689c83fba5054e9481f81a66ac6badfc?pvs=4

 

AWS EC2 사용하기:

https://www.notion.so/AWS-EC2-d10b5ba6b6104b149735de995f862ff5?pvs=4 

 

2강 - 리눅스 접속을 위한 SSH서버 설치

https://www.notion.so/2-SSH-8078e1516fe043b4bf857e7938863443?pvs=4 

운영체제( OS란? )

  • 사용자의 하드웨어, 시스템 리소스를 제어하고 프로그램에 대한 일반적 서비스를 지원하는 시스템 소프트웨어이다.
  • 우리가 주로 사용하는 운영체제는 window, mac OS가 있다.

개발자는 Linux를 알아야 하나요?

여러분이 개발자로 살아간다면 언젠가는 공부해야 할 과목입니다.

당장은 필요가 없을 수도 있지만 운영환경은 보통 linux시스템을 사용하는 경우가 많아요.

 

 

#리눅스의 역사

노션 참고.

https://www.notion.so/1-689c83fba5054e9481f81a66ac6badfc?pvs=4

 

# aws 이용

 

*리전관리 해줘야함 

#Ec2 콘솔들어오기

인스턴스 누르기.

t2 마이크로 서버로는 실제 서버를 돌리지는 못함. 사양이 너무 낮기 때문.

단순히 교육용 정도로만 사용.

 

 

프라이빗 키는 서로 변환이 됨.

 

- 기본적으로 ssh는 무조건 열어줘야함. (ssh는 접속을 위한것)

- HTTP는 통신을 하기 위한것. 

- 위치 무관이라 하면 어디서든 접속이 가능한것.

 

- 스토리지 구성은 가상컴퓨터의 용량을 지정하는 것.

- 용량을 늘리는 것은 가능하지만 줄이는 것은 안됨.

 

탄력적 ip 주소할당을 해줘야 아이피 주소가 고정이 됨.

상단에 이 탄력적 ip주소 연결 버튼 누르기.

 

이렇게 함으로서 

ip가 고정이 되었음.

인스턴스를 삭제하게 되면 연결해주었던 탄력적 ip도 같이 삭제해줘야함.

탄력적 ip가 존재하고 있으면 존재만으로 돈이 계속 나간다고 함.

 

*보안그룹은 방화벽과 같은 역할

*인바운드는 접속과 관련된것

*아웃바운드는 나가는것과 관련, 현재 모든 트래픽에 대해서 연결되어 있음.

 

 

리눅스에 외부 접속 도구(putty) 를 이용해서 연결해보기

  • VMware자체에서 제공하는 커널은 확대도 되지 않고, 매우 불편하기 때문에 외부 원격 접속으로 편하게 사용하려 합니다.
  • 보통 99.99% putty를 이용해서 접속합니다
  • putty를 사용해서 접속하려면 SSH에 대한 개념을 알아야 합니다.

SSH란? - Secure Shell Protocol

SSH는 Secure Shell Protocol의 줄임말로 보안이 강화된 서버 원격 접속 및 제어 도구입니다.

기존에 Telnet이라는 서비스를 이용해서 원격의 리눅스 서버에 접속했습니다.

텔넷의 단점

텔넷의 단점은 데이터가 암호화 되지 않는 다는 점이었고, 패킷을 가로채는 패킷 스니핑에 대상이 되었습니다.

SSH를 이용한 암호화 통신

  1. 서버와 클라이언트는 비스킷을 하나 쪼개서 서로 나누어 갖는다.
  2. 원격 접속시 이 비스켓을 맞춰본다.
  3. 조각이 맞으면 서로만의 비밀 통로을 만들어서 통신한다. (비대칭키 암호화)

4. 통로가 만들어 지면 똑같이 생긴 열쇠 두개를 나누어 갖는다. 클라이언트는 열쇠로 암호화 해서 데이터를 전송한다, 서버는 열쇠로 해석한다. (대칭키 암호화)

 

 

putty가 필요 -> 다운

윈도우 사용자

- 설치할 때는 그냥 다음만 쭉 누르면 됨.

 

* 아까 다운받았던 ppk 키 파일을 올려놓으면 됨.

 

* aws 에서는 위에 빨간줄 부분에 os 이름@아이피주소 써주면됨.

* 위에 설정 내용을 저장

* ppk 정보를 ssh 에 저장할건지 물어보는거라고 하셨음 . 그냥 accept 하면 됨.

* 화면설정 해주는거. 

 마우스 오른쪽 -> change setting -> apperance 화면에 관한 설정 하면됨.

안타깝게도 매번 킬때마다 설정해줘야 한다고 했음.

- 폰트 크기 크게 바꾸면 화면도 커짐.

 

 

터미널을 이용하여 명령문 내리기

터미널이란?

여러분이 보고있는 검은색 창이 리눅스 터미널 입니다.

쉘(shell)이란?

터미널에서 내려진 명령을 해석하는 도구 인터페이스(도구) 입니다.

  • sh(본쉘), bash 등이 있다.

본쉘이 가장 기본임.

커널(kernel)이란?

운영체제와 하드웨어를 이어주는 핵심 기능 , 컴퓨터 시스템 자원들을 관리하는 역할

  • 커널을 이용해서 우분투(운영체제)에 접근한다고 보면 됨.

사용자가 명령 터미널을 통해 입력하면 쉘 이 명령을 받아 해석하고 커널 에 전달하면 커널 을 통해 하드웨어 조작을 하게 됩니다.


  • 리눅스는의 관리자 계정 root계정이 존재합니다.
  • 리눅스를 사용하는 모든 사람들은 root가 관리자 라는 것을 알기 때문에 관리자 계정으로 바로 로그인하는 것이 아니라, 일반 계정으로 접속해서 관리자로 전환하여 사용한다.
  • 리눅스의 명령문들은 관리자 권한이 있어야 실행시킬 수 있는 명령이 있고, 누구든 사용할 수 있는 명령이 있습니다.
  • 관리자의 권한 sudo루트 권한으로 변경하게 되면 모든 권한을 얻게 됩니다.예시sudo reboot사용자 계정으로 전환root 계정으로 전환
    • su는 switch user의 줄임말.
    탈출
  • exit
  • sudo su - root sudo su -
  • su 계정명
  • root 계정의 전환 (관리자의 계정으로 전환 할 때는 관리자 권한이 필요합니다)
  • 리부팅 명령 (관리자의 권한으로 실행함)
  • 관리자의 권한만 빌려쓰고 싶다면 sudo 를 앞에 붙입니다.
  • sudo는 관리자의 권한을 의미한다.
  • 출력문 실행하기 echoecho 출력문전역 환경변수 확인하기
    • 리눅스는 프로그램을 실행할 때 해당 환경 변수에 등록된 값을 우선적으로 찾아서 실행하게 됩니다.
    • 예를 들어 자바 컴파일러를 실행하고 싶다면 환경 변수에 등록이 되어 있어야 합니다.
  • echo $PATH
  • echo hello world
  • echo는 커널창의 출력을 명령합니다.
  • 명령문의 매뉴얼 확인하기 man
    • 명령문을 실행할 때 하이픈( - ) 을 이용하여 옵션을 줄 수 있습니다.
    • 이런 옵션들의 확인은 man 명령문 을 이용해서 확인 가능합니다.
    • 이런 옵션들은 너무 다양하기 때문에 실제 man명령으로는 간단하게 확인하고 구글을 이용하는 편이 좋습니다.
    man 명령문

또한 이 창에서 나가려면

quit -> q

exit

ctrl + c

(탈출 명령문 위 3가지 )

누르면 됨.

이렇게 다시 나와짐.

또 방향키 위아래 누르면 이전에 사용했던 명령문 다시 가져와서 사용할 수 있음.