728x90
SSH 기억하십시오: 확인하는 데 도움이 필요할 때마다 평가 대상 학생이 귀하를 도울 수 있어야 합니다.
- SSH 서비스가 가상 머신에 제대로 설치되었는지 확인합니다.
- 제대로 작동하는지 확인하십시오.
- 평가 대상 학생은 기본적으로 SSH가 무엇이며 사용 가치를 설명할 수 있어야 합니다.
- SSH 서비스가 포트 4242만 사용하는지 확인합니다.
- 평가되는 학생은 새로 생성된 사용자로 로그인하기 위해 SSH를 사용하는 것을 도와야 합니다. 이렇게 하려면 키 또는 간단한 암호를 사용할 수 있습니다. 평가 대상 학생에 따라 다릅니다. 물론, 주제에 명시된 "루트" 사용자로 SSH를 사용할 수 없는지 확인해야 합니다.
무언가가 예상대로 작동하지 않거나 명확하게 설명되지 않으면 평가가 여기서 중지됩니다.
1. SSH가 제대로 설치되어있는지 확인
평가표 : ssh서비스가 가상 머신에 제대로 설치되었는지 확인합니다.
apt search openssh-server # openssh가 깔려있는지 확인
systemctl status sshd
<실행 결과>

<참고>
- 설치 명령어 : apt install open ssh- server
- ssh 설정 변경 : sudo vim /etc/ssh/sshd_confi
- → Port 22라 되어있는 줄을 Port4242로 변경
- ssh 접속 root 계정 제한 방법
- → PermitRootLogin옵션 주석 해제하고 no로 값 변경 ⇒ root계정으로 ssh통신 못하도록함(보안상의 이유
- → sudo systemctl restart ssh ⇒ 재시작하여 설정 적용
- su→ 파일 저장
- → vi /etc/ssh/sshd_config ⇒ ssh 설정 파일 열기
2. SSH가 제대로 작동하는지 확인
평가표 : 제대로 작동하는지 확인하십시오.
systemctl status ssh # openssh 실행 여부 확인
<포트포워딩 하는 법>
→ 버츄얼박스에서 설정을 눌러서 아래 창을 연다

→ 상단 네비게이션에서 Network ⇒ Advanced(고급) ⇒ Port Forwarding 클릭한다

→ Port에 4242를 입력한다

→ 자신 로컬 IP 주소 확인(윈도우에서 cmd창으로 함) ⇒ ipconfig.
???
→ 버츄얼 박스에서 IP 주소 확인 ⇒sudo ifconfig

→ 버츄얼 박스에서 ssh -p 4242 [아이디]@[서버 주소(버츄얼박스)]
ssh -p 4242 chahan@10.0.2.15 # 가상 머신에서 먼저 열기. 이 때 yeonjkim에 로그인 되어 있어야함
# 비밀번호 입력

→ cmd에서 ssh -p 4242 [아이디]@[서버주소(cmd)]
ssh -p 4242 chahan@10.11.5.4 # 내 로컬에서 열기.
# 비밀번호 입력

→ 서로 연결되는 것 확인할 수 있다.
이게 확인해보았는데 Debian 내부에서 보여지는 것과 Virtual Box의 NIC IP 가 서로 다른거 같다. 그래서 자신의 로컬 컴퓨터에서 검색시 MAC이면 en0/1라고 적힌데로 들어가자

→ exit하면 연결 취소된다. 이후 netstat할것이니 exit하지 말기
이로 인해 ufw가 실행된 것, ssh도 정상 실행되는 것을 볼 수 있다.
- Host IP = 로컬 IP (윈도우 cmd 등)
- Guest IP = 가상머신 IP (버츄얼박스)
앞의 개요 부분에서 함.
3. SSH가 무엇인지, SSH 사용의 장점
- SSH(Secure Shell Protocol)→ 원격 접속을 이용하여 터미널 환경을 사용할 수 있도록 고안된 프로토콜→
- 장점→ 암호화되는 과정은 대칭 암호화, 비대칭 암호화, 해쉬함수 등이 있다.→ 왜? Telnet은 보안적으로 매우 치명적인 결함 존재→ 반면, SSH는 식별할 수 없는 내용으로 패킷이 보내진다. 즉, 암호화된 통신을 가능하게하여 누군가 정보를 탈취하여도 쉽게 해석하지 못하도록 보안성을 향상시킬 수 있다.
- → Telnet은 별도의 암호화가 되지 않아서 패스워드로 추측되는 문자열이 입력 또는 출력될 때마다 탈취자가 파악할 수 있다
- → 기존에는 Telnet을 이용했지만, SSH가 개발된 이후로 SSH를 주로 사용한다.
- → 장점은 암호화된 통신이다. 모든 데이터가 암호화되어 전송되기 때문에 매우 안전하다.
- → 대표적 사용 예 : 데이터 전송(깃 푸시), 원격제어(aws같은 클라우드 서비스)
- → 네트워크 프로토콜 중 하나로 컴퓨터와 컴퓨터가 인터넷과 같은 Public Network를 통해 서로 통신을 할 때 보안적으로 안전하게 통신하기 위해 사용하는 프로토콜(보안을 중요시한 프로토콜)
4. SSH가 4242 포트만을 사용하는지 확인
su -
netstat -nap | grep LISTEN | grep sshd # 포트 확인. ssh가 포트 4242만을 사용.
#이후 exit하기
exit # cmd에서도, 가상머신에서도.
<실행 결과>

5. 새로 생성된 사용자로 로그인할때 SSH 사용되는지 확인
- 새로운 사용자로 로그인(이때 새로운 사용자가 만들어져 있어야한다.) ⇒ (사용자 만드는 명령어는 adduser를 추천한다. root에서 가능)→ 비번 입력
- → 로그인됨
- → login [아이디]
- systemctl status ssh ⇒ openssh 실행여부와 사용포트 확인이후 새로운 사용자에서 로그아웃 한 뒤 su - 로 루트 계정 접근. userdel로 새 사용자 없애기
- → 초록색으로 활성상때 뜸
6. root 유저로 SSH 사용할 수 없는 것 확인
- root 계정으로 접속해보기
- → 위에 정리된것 처럼 가상머신에서는 ssh -p 4242 root@[로컬IP] 입력 후 패스워드 입력하면 접근이 거부되었다고 뜬다.
- root 유저로 SSH 사용 제한법 (1번에 정리된 방법이랑 같음)→ PermitRootLogin옵션 주석 해제하고 no로 값 변경 ⇒ root계정으로 ssh통신 못하도록함(보안상의 이유)
- → sudo systemctl restart ssh ⇒ 재시작하여 설정 적용
728x90
'Others > 42Seoul' 카테고리의 다른 글
BLIND CLONE CODING 1일차 (0) | 2022.01.22 |
---|---|
born2beroot : 평가지 (1) | 2022.01.16 |
born2beroot : ufw (0) | 2022.01.16 |
born2beroot : sudo configuration - 2022 (0) | 2022.01.16 |
born2beroot : partitions (0) | 2022.01.16 |