김 컴퓨터


ssh (Secure Shell)

ssh는 네트워크상의 다른 컴퓨터에 로그인하거나 원격 시스템에서 명령을 실행하기 위한 보안 네트워크 프로토콜입니다. 모든 데이터가 암호화되어 전송되므로, 과거의 telnet이나 rlogin과 달리 중간에 데이터를 가로채더라도 내용을 알 수 없어 안전합니다.


1. 기본 사용법

ssh [사용자명]@[호스트주소]

2. 주요 옵션 및 관련 도구

구분 옵션/도구 설명
옵션 -p [포트] 기본 포트(22)가 아닌 다른 포트로 접속할 때 사용합니다.
옵션 -i [키파일] 비밀번호 대신 개인키(Private Key) 파일을 사용하여 인증합니다.
도구 ssh-keygen 인증에 사용할 공개키/개인키 쌍을 생성합니다.
도구 ssh-copy-id 내 공개키를 원격 서버에 등록하여 비밀번호 없이 로그인하게 해줍니다.

3. 실무 활용 예시

① 기본 원격 접속

ssh root@my-server.com

② 커스텀 포트로 접속하기 (보안상 포트를 변경한 경우)

ssh -p 2222 user@remote-host

③ 비밀번호 없이 키 파일로 접속하기 (클라우드 서버 등)

ssh -i ~/.ssh/my_key.pem ubuntu@54.123.45.67

④ 원격 서버에서 명령어만 실행하고 나오기

ssh user@host "df -h"
# 접속하지 않고 결과만 내 터미널에 출력합니다.

4. [팁] SSH 보안 강화 (Best Practice)

  1. root 로그인 금지: /etc/ssh/sshd_config에서 PermitRootLogin no 설정을 권장합니다.
  2. 비밀번호 인증 대신 키 인증 사용: PasswordAuthentication no로 설정하면 무작위 대입 공격을 원천 차단할 수 있습니다.
  3. 포트 변경: 기본 22번 포트를 2000~9000번대의 임의의 포트로 바꾸는 것만으로도 자동화된 공격 시도를 크게 줄일 수 있습니다.