일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- Spring
- 스프링
- RESTful
- BufferedReader
- 예외처리
- 백엔드 개발자 뭐해?
- Scanner
- 개발자
- Git
- Java
- 인텔리제이
- 클론코딩
- 인스타그램만들기
- 서비스 계층
- 스프링 OAuth
- springboot
- 입력
- string
- 깃허브
- .ppk만들기
- 다리를 지나는 트럭
- 스프링부트
- 리눅스 서버시간 변경
- 백엔드
- git hub
- 개발 뭐하지
- @RestCotroller
- RESTful웹서비스
- 깃
- 프로그래머스
- Today
- Total
It's Ward
나만의 서버 구축 3) SSH (22번포트) 설정 본문
사실 리눅스 서버를 사용할때 가장 걱정되었던 부분은 보안을 어떻게 해야하냐였다.
AWS EC2에서는 규칙설정으로 진행됬던 부분들을 모두 수종으로 진행해야했기 때문이다.
가장먼저 EC2를 구현할 떄 푸티에서 해당 서버에 접속하기 위해 SSH .ppk 파일를 통해 접속했던 기억을 떠올렸고, 가장먼저 설정을 진행해 보았다.
1. 필자는 Ubuntu 서버를 구축할 때, Open SSH를 옵션으로 설치를 미리 해두었었다. 하지만 설치를 하지않았었다면 다음 명령어로 Open SSH Server를 먼저설치하여아 한다.
$ sudo apt update
$ sudo apt install openssh-server
2. Open SSH Server 실행
사실 설치가 완료되거나 컴퓨터가 꺼졌다가 켜지는 경우, 자동으로 Open SSH Server는 실행되어있으나, 한번 더 확인할 겸 상태를 확인해본다.
$ sudo systemctl status ssh
다음과 같이 나오면 정상적으로 연결되어있는 것이다.
3. SSH 포트로 연결
사실 여기까지만 되었다면, 해당 ip를 이용하여 ssh포트를 통해 연결이 가능해진다. 하지만, 조금 불안하여 필자는 SSH Key를 별도로 등록하여, 키가 있는 사용자의 경우에만 접근 할 수 있도록 설정하도록 하였다.
다음과 같이 진행한다.
$ ssh-keygen -t rsa
다음과 같이 명령을 입력하면, 다음과 같은 옵션이 나온다.
1. 키를 저장할 경로( $ /home/사용자/.ssh 해당 경로가 기본 경로이다.) enter를 입력하면 해당 경로로 자동으로 저장된다.
2. passphrase(암호, 기본값 없음)
3. passphrase 재확인
사실 모두 enter로 진행하여도 문제는 없으나, 찝찝한 경우에는 한번 더 비밀번호를 통해 암호화 작업을 해도 괜찮다고 생각한다.
이렇게 진행 한 후
$ cd /home/사용자
$ ll
$ cd .ssh
다음과 같이 진행한다. 해당 위치에는 id_rsa , id_rsa.pub 폴더가 있을텐데, 각각 개인키와 공개키이다.
개인키는 절대로 외부로 유출되서는안된다.
우선 외부에서 들어올 떄, 해당 공개키를 인증키로 사용하기위해 다음과 같이 설정한다.
$ cp id_rsa.pub authorized_keys
$ sudo chmod 755 authorized_keys
이후 개인키를 열어 접속할 공간에 저장한다.
vim id_rsa
해당 키를 모두 드래그하여 복사한 후 메모장에 저장하고, .ppk 확장자로 사용하면, putty에서 ssh로 접속할 수 있다.
마지막으로, 키 방식으로만 서버에 접근이 가능하게하고 암호를 통한 접속은 불가능하게 설정한다.
$ vi /etc/ssh/sshd_config
sshd 설정 파일에서 PermitRootLogin 부분을 다음과 같이 변경한 후 저장한다.
PermitRootLogin without-password
ssh 서비스를 적용한다.
$ service ssh reload
해당 파일을 인증파일로 사용하면 된다.
'백엔드' 카테고리의 다른 글
나만의 서버 구축 4) 노트북을 덮어도 서버 유지 (0) | 2022.07.18 |
---|---|
나만의 서버 구축 2) 서버 시간 설정 (0) | 2022.07.18 |
나만의 서버 구축 1) 리눅스 서버 인터넷 연결 (0) | 2022.07.18 |
리눅스 기반 홈 서버를 구축해보았다. (0) | 2022.07.13 |
스프링부트 개발자 이건 고민 해야 돼 - 개인 공부 그리고 프로젝트와 포트폴리오 (준비) (0) | 2022.07.01 |