네트워크 , 네트워크 관리사를 공부하면서 Telnet 과 (Telnet 보다) 보안이 강화된 SSH 프로토콜들에 대한 개념을 배웠다.
두 프로토콜 모두 원격으로 특정 기기에 접속할 수 있는 기능이라고 정리했고, 실제로 내가 가지고 있는 네트워크 장비( 컴퓨터) 들로 손쉽게 특정 기기로 접속이 가능할지 궁금해졌다.
궁금하면 바로 진행시키는거다.
목표는 데스크탑에서 SSH 연결을 위한 작업 ( 뭐 설치 등 포트 설정 기타 ) 을 하고, 노트북에서도 연결을 위한 작업 (포트 설정 및 아이피 입력 등등) 을 해서,
- 노트북에서 데스크탑에 있는 파일들에 모두 접근이 가능한지 확인하고,
- 노트북에서 폴더 만들기 명령을 내려서 폴더를 만들면 실제로 데스크탑에서 폴더가 만들어졌는지 확인하고,
- 마지막으로 노트북에 있는 파일을 데스크탑으로 전송해보는 것을 해보기로 한다.
1. 데스크탑 (우분투)의 패키지 매니져를 업데이트 해 준다.
sudo apt update

2. SSH 프로토콜 사용을 위해 SSH 서버를 설치한다.
sudo apt install openssh-server

중간에 y 한 번 입력해 줘야 한다.
3. SSH 서버 설치가 완료되면 현재 상태를 확인해 본다.
sudo systemctl status ssh

뭔가 녹색불이 들어와 있는건 소켓이고, ssh.service 부분에는 녹색불이 안들어와 있다.
서비스가 실행 되지 않고 있는 것 같으니 서비스 실행 명령어를 입력하고 실행시켜 본다
sudo systemctl start ssh
4. 다시 SSH 서버의 현재 상태를 확인해 본다.
이전과는 다르게 ssh.service 부분에 녹색 불이 들어왔다!!
이제 서버에 접속할 수 있는 환경이 된 것으로 추측된다.

5. 실험 폴더 생성
노트북에서 접속할 경우 /home/사용자/사진 경로로 접근하면 해당 폴더가 바로 보이도록 직관적인 이름을 가진
폴더를 하나 만들어뒀다.

6. 아이피 주소 확인하기
hostname -I
노트북에서 데스크탑으로 접속하기 위한 데스크탑의 IP 주소를 확인한다. 내 경우에는 데스크탑의 아이피 주소가 2개가 나왔는데, 데스크탑이 유선 연결되어 있고 무선 연결은 지원하기 않기 때문에, 도커를 사용해서 두 개의 주소가 나온 것 같다. SSH 연결을 시도해 보기 위해서 유선 연결된 IP 주소를 사용할 것이기 때문에 보통 192.168.x.x 로 시작되는 IP 주소를 사용한다.
7. 맥북 터미널에서 접속하기
이제 데스크탑에서 해야 할 설정들은 마쳤고, 실제로 접속을 시도할 기기인 노트북을 켜고 터미널을 실행시킨다.
터미널에서 SSH 접속을 위해 명령어를 실행한다
ssh username@192.168.x.x
username 은 데스크탑에 설정된 내 사용자 이름이고, @ 뒤에는 이전에 확인한 테스크탑의 IP 주소를 입력한다.


중간에 yes 를 한 번 해주면 명령 프롬프트 창이 우분투로 변경된다!!!!!!!!!
8. 폴더 확인
그냥 보여주기식 연결이 아니라 실제 내가 만들 폴더가 /home/사용자/사진 에 있는지 확인하러 간다.

진짜 있다... 이제 노트북에서 폴더를 만들어보고 실제로 데스크탑에도 만들어지는지 확인해본다.
9.새 폴더 만들기
mkdir 잘_연결_됨

거의 딜레이 없이 바로 만들어지는 것을 확인할 수 있었다.
마지막으로 노트북에 있는 파일 하나를 데스크탑으로 전송해 보기로 한다.
10. 파일 전송하기
내 노트북에 있는 증명사진 파일을 옮겨보기로 한다. 경로는 /User/사용자/Documents/파일이름.확장자 이고 이 파일을 데스크탑의 /home/사용자/사진 경로로 전송해보기로 한다.

왠지 파일 이름을 한글로 하면 에러가 날 수도 있을 것 같아 myphoto.png 로 이름을 변경하여 진행하였다.(매국노 아님)
명령 프롬프트가 우분투 인 상태에서 파일전송 명령어를 실행한다는건 데스크탑에서 명령을 내리는 것이기 때문에, 노트북에서 새로운 터미널을 열고(명령 프롬프트가 노트북 로컬을 가르키는) 파일 이동 명령을 실행시킨다.
scp /Users/kang/Documents/myphoto.png kang@192.168.55.101:/home/kang/사진
명령어는 scp 원본파일의경로 원격사용자이름@연결할기기의IP주소:전송하고자하는경로 로 구성되어 있다.

마지막으로 노트북에서 원격으로 데스크탑의 폴더를 확인해서 myphoto.png 가 실제로 있는지 확인한다.
또 실제로 데스크탑에서도 myphoto.png 가 있는지 확인한다.


11.마무리
SSH 프로토콜을 이용해서 원격으로 내 데스크탑에 접속하여 다양한 명령들을 실행시켜 봤다. 이러한 간단한 명령들 말고도 시스템 상태를 모니터링 하는 용도로 쓰이기도 한다고 한다.
명령어 top 을 입력하면 시스템 리소스 사용량을 모니터링 할 수 있다.

실험들을 마치고 종료를 앞두고, ssh 를 계속 켜 놓으면 밖에서도 언제든지 내 데스크탑에 연결할 수 있겠다는 생각이 들면서도
프로세스를 계속 실행 해야 하고 나 말고 외부에서도 접근할 가능성이 존재 한다는 생각이 들었다.
따라서 서비스를 사용하지 않을 때는 SSH 서비스를 종료하는 것이 맘 편하다는 생각이 들었다.
SSH 서비스를 종료하는 명령어는 다음과 같다.
sudo systemctl stop ssh
또 필요할 때만 SSH 서비스를 수동으로 시작하고, 시스템 부팅 시 자동으로 시작하지 않도록 설정할 수 있다. 다음 명령어로 자동 시작 설정을 비활성화할 수 있다.
sudo systemctl disable ssh
SSH 서비스의 상태를 다시 확인하면 녹색불이 사라지고, 서비스가 종료된 것을 확인할 수 있다.

'네트워크 공부 & 실습 > 네트워크 실습' 카테고리의 다른 글
| 💻 [리눅스] USB 연결하여 마운트 하기 (0) | 2025.01.27 |
|---|---|
| 🛜 [네트워크] AWS EC2 에 SSH 프로토콜로 접속 및 파일 전송하기 (0) | 2025.01.23 |
| [네트워크] IP 주소와 서브넷 자세히 알아보기 + 진수변환기, 서브넷 마스크 파이썬 파일 (0) | 2025.01.20 |
| [포트포워딩] 로컬에서 진행중인 프로젝트에 다른 기기로 접속하기-2 (0) | 2024.12.26 |
| [동일한 Wi-Fi 접속] 로컬에서 진행중인 프로젝트에 다른 기기로 접속하기-1 (0) | 2024.12.25 |