
리눅스는 이제 개발자만의 도구가 아닙니다. 회사 클라우드 서버나 사내 시스템을 다뤄야 하는 직장인이라면 터미널 명령어와 기본 개념 정도는 알아두는 편이 업무에 도움이 됩니다.
왜 직장인도 터미널 명령어를 배워야 할까
마우스 클릭보다 빠른 작업 처리
사내 서버 로그 파일을 확인하거나 특정 폴더의 용량을 체크할 때, 그래픽 화면 없이 명령어 몇 줄로 끝나는 경우가 많습니다. 예를 들어 ls -al 명령어 하나로 숨김 파일까지 포함해 폴더 내용을 1초 안에 확인할 수 있습니다. 반면 원격 데스크톱 프로그램으로 접속해 화면을 하나씩 클릭하는 방식은 네트워크 상태에 따라 5초에서 10초 이상 걸리기도 합니다.
클라우드 시대에 필수가 된 기초 지식
AWS나 네이버 클라우드플랫폼 같은 서비스를 회사에서 쓴다면 서버 인스턴스는 대부분 리눅스 기반으로 생성됩니다. 담당자가 아니더라도 기본적인 폴더 이동(cd), 파일 목록 확인(ls), 파일 복사(cp) 정도는 알아두면 협업할 때 대화가 훨씬 수월해집니다.
리눅스 SSH가 보안에 중요한 이유
Telnet과 SSH, 암호화 방식의 차이
서버에 원격 접속하는 방법은 크게 두 가지로 나뉩니다. 과거에 쓰던 Telnet은 아이디와 비밀번호를 암호화하지 않고 그대로 전송해서 중간에 누가 가로채면 내용이 그대로 노출됩니다. 반면 SSH(Secure Shell)는 접속 정보를 공개키 암호화 방식으로 암호화해서 주고받기 때문에 중간에서 데이터를 가로채도 해독이 거의 불가능합니다. 대부분의 회사 서버는 22번 포트로 SSH 접속만 허용하고 Telnet은 아예 차단해두는 경우가 많습니다.
공개키 암호화의 기본 원리
SSH는 서버에 공개키를 등록해두고, 접속자는 그 짝이 되는 개인키를 갖고 있어야 로그인이 됩니다. 비밀번호 하나만 알면 뚫리는 방식보다 훨씬 안전한 구조입니다. 아래 표로 두 방식을 비교해봤습니다.
| 구분 | Telnet | SSH |
|---|---|---|
| 암호화 여부 | 없음 | 있음(공개키 방식) |
| 기본 포트 | 23번 | 22번 |
| 보안 수준 | 낮음 | 높음 |
| 현재 사용 여부 | 거의 사용 안 함 | 표준으로 사용 |
실전 SSH 설정: 초보자가 자주 하는 실수와 해결법
Permission denied 오류가 뜰 때
SSH로 접속을 시도하면 Permission denied (publickey) 같은 문구가 뜨는 경우가 흔합니다. 이런 상황은 대부분 세 가지 원인 중 하나입니다. 첫째는 개인키 파일 경로를 잘못 입력한 경우, 둘째는 키 파일 권한이 너무 개방적으로 설정된 경우, 셋째는 서버 쪽에 공개키가 제대로 등록되지 않은 경우입니다. 특히 개인키 파일 권한이 644처럼 다른 사용자도 읽을 수 있게 열려 있으면 SSH가 접속 자체를 거부합니다. 이때는 터미널에서 chmod 600 키파일명을 입력해 소유자만 읽고 쓸 수 있게 바꿔주면 해결되는 경우가 많습니다.
chown, chmod로 권한 제대로 맞추기
서버 파일 소유자가 다른 계정으로 되어 있어서 접근이 안 되는 경우도 자주 발생합니다. 이럴 때는 chown 계정명:그룹명 파일명으로 소유자를 바꿔주고, chmod 700 폴더명으로 접속 계정만 폴더에 들어갈 수 있게 제한하는 방식을 많이 씁니다. 권한을 777처럼 모두에게 열어두는 설정은 편리해 보이지만 외부 침입 위험이 커지므로 회사 서버에서는 피하는 게 안전합니다.
SSH 보안 강화하기: 포트 변경과 접속 제한
기본 포트를 바꾸고 접속 계정을 제한하기
22번 포트는 누구나 아는 기본값이라 자동화된 공격 시도가 많이 몰립니다. 서버 설정 파일인 /etc/ssh/sshd_config에서 Port 값을 22가 아닌 다른 숫자(예: 2222)로 바꿔주면 무작위 공격 시도를 상당수 줄일 수 있습니다. 또한 PermitRootLogin no 옵션을 설정해두면 관리자 계정으로 바로 로그인하는 걸 막아서 계정 하나가 뚫려도 피해 범위를 줄일 수 있습니다.
키 관리와 접속 이력 확인 습관
개인키 파일은 USB나 개인 클라우드에 아무렇게나 저장하지 말고, 회사에서 권장하는 비밀번호 관리자나 별도 보안 저장소에 보관하는 게 좋습니다. 또한 서버 로그 파일인 /var/log/auth.log를 주기적으로 확인해서 낯선 IP에서 접속 시도가 반복되는지 살펴보는 습관도 도움이 됩니다. 리눅스 서버 관리를 처음 맡은 담당자라면 이 정도 습관만 지켜도 큰 사고를 예방할 수 있습니다.
자주 묻는 질문
SSH와 VPN을 같이 써야 하나요?
둘은 목적이 다릅니다. SSH는 서버 접속 자체를 암호화하는 것이고 VPN은 네트워크 전체 경로를 암호화하는 개념이라, 사내 서버가 외부에 완전히 노출되어 있다면 VPN을 함께 쓰는 회사도 많습니다.
윈도우에서도 SSH 접속이 가능한가요?
최근 윈도우 운영체제에는 기본적으로 SSH 클라이언트가 내장되어 있어서 별도 프로그램 설치 없이 명령 프롬프트나 파워셸에서 바로 접속할 수 있습니다. 초보자라면 PuTTY 같은 별도 프로그램을 쓰는 방법도 여전히 많이 쓰입니다.
리눅스 명령어를 외워야 실무에 쓸 수 있나요?
전부 외울 필요는 없습니다. 실무에서는 폴더 이동, 파일 확인, 권한 변경 등 자주 쓰는 명령어 10개 정도만 익혀두면 대부분의 상황에 대응할 수 있고, 나머지는 필요할 때 검색해서 찾아 쓰는 경우가 훨씬 많습니다.
리눅스 서버 관리는 처음엔 낯설지만, SSH 개념과 권한 설정 몇 가지만 익혀두면 회사 업무에서 훨씬 든든한 무기가 됩니다.