[day-54] SSH 명령어, 비밀번호 접속, Django 서버 만들기

Joohyung Park·2024년 3월 24일
0

[모두연] 오름캠프

목록 보기
89/95

서버 관리와 파일 전송에 사용되는 SSH(Secure Shell)을 알아보겠습니다.

명령어

정의

사용자가 원격으로 다른 컴퓨터에 안전하게 접속하도록 도와주는 프로토콜이다.

기본 형태는 다음과 같다.

ssh [options] [user@]hostname
  • user@ : 로그인 할 사용자 이름
  • hostname : 원격 서버의 도메인 이름 혹은 IP 주소

다른 포트를 사용하여 원격 서버 접속

ssh -p port username@remote_host

기본적으로 22포트를 사용하며, port 자리에 다른 포트 번호를 명시할 수 있다.

키파일을 사용하여 원격 서버 접속

ssh -i /path/to/my_key.pem username@remote_host

키가 있는 경로에서 실행 혹은 경로를 명시하여 private key로 접속이 가능하다.

원격 서버에로컬 파일 복사

scp local_file username@remote_host:/remote/directory/

local_file이라는 이름의 로컬 파일을 원격 호스트의 /remote/directory/로 복사하는 명령이다.

비밀번호 접속

키로 인스턴스에 접속하는 것이 안전하긴 하지만 항상 키를 갖고 다닐 순 없다. 따라서 비밀번호로 접속을 하는 방법을 알아보자.

# ssh 설정 파일 수정
sudo vim /etc/ssh/sshd.config
# /etc/ssh/sshd.config
...


PasswordAuthentication no  -> yes 로 변경

...

파일 초중반 부에 있는 Password... 인증 부분을 허용한다.

# 서비스 재시작
sudo systemctl restart ssh 

이후 키로 접속한 것과 마찬가지로


ssh {사용자이름}@{ip주소}

와 같이 접속 가능하다.

Django 서버 생성

Lightsail을 활용하여 간단하게 서버를 만들어 보자.


보통은 위 사진처럼 Django를 직접 선택하지 않고 OS만 선택하지만 간단한 진행을 위해 선택하였다.

인스턴스 아이디에는 규칙이 존재한다.

  • 규칙 : 유저아이디-프로젝트 이름

이후 인스턴스를 생성하고 활성화까지 대기한다.

활성화가 되었으면 다음과 같은 버튼을 클릭하여 터미널에 들어간다.

이후 깃허브에서 django todolist 소스코드를 클론한다.

git clone https://github.com/beomjae/django-todolist.git

다운받은 소스코드 디렉토리로 이동한다.

cd django-todolist

정의되어 있는 라이브러리를 설치한다.

pip install -r requirements.txt

데이터베이스 변경내역을 데이터베이스에 적용하기 위해 마이그레이트를 진행한다.

# migrate
python manage.py migrate

8000번 포트로 Django 서버를 실행한다.

python manage.py runserver 0.0.0.0:8000

만약, 8000번 포트가 막혀 있다면, Lightsail 인스턴스의 네트워킹탭에서 포트를 추가한다.


서버 생성이 완료된 모습이다.


간단한 구조 그림이다.

profile
익숙해지기 위해 기록합니다

0개의 댓글