WIPIVERSE

SSHFS

SSHFS

SSHFS(SSH Filesystem)는 원격 시스템의 파일 시스템을 Secure Shell(SSH) 프로토콜을 이용해 로컬 시스템에 마운트할 수 있게 하는 클라이언트 프로그램이다. 주로 Linux 및 Unix 계열 운영 체제에서 FUSE(Filesystem in Userspace) 인터페이스와 결합하여 구현된다.

개념 및 작동 원리

  • 프로토콜: SSHFS는 SSH 연결 위에서 동작하는 SFTP(Subsystem for File Transfer) 프로토콜을 활용한다.
  • 구성 요소: 핵심 구현은 libfuse(또는 macFUSE 등)와 libssh·libssh2 등 SSH 라이브러리를 사용한다.
  • 마운트 과정: 사용자는 sshfs user@host:/remote/path /local/mountpoint와 같은 명령을 실행하면, SSH 인증(패스워드, 공개키 등)이 수행된 뒤 원격 디렉터리가 로컬 파일 시스템 트리의 지정된 위치에 연결된다.

주요 특징

특징 설명
보안 SSH 기반 암호화 및 인증을 그대로 사용하므로 전송 데이터가 안전하게 보호된다.
사용 편의성 별도의 서버 측 소프트웨어 설치 없이 SSH만 가능하면 마운트가 가능하다.
운영 체제 지원 Linux, macOS( macFUSE와 함께), 일부 BSD 계열에서 기본적으로 지원된다. Windows에서는 WinFsp + SSHFS-Win 등 별도 호환 레이어가 필요하다.
성능 일반적인 파일 작업에 적합하지만, 높은 입출력(I/O) 요구가 있는 경우 레이턴시와 프로토콜 오버헤드로 인해 성능이 저하될 수 있다.
임시 파일 처리 로컬 캐시를 통해 일부 파일 접근을 가속화하지만, 전송 중인 데이터는 원격 서버에 직접 저장된다.

사용 예시

# 사용자@서버의 /var/www 디렉터리를 로컬 /mnt/remote에 마운트
sshfs [email protected]:/var/www /mnt/remote

라이선스 및 개발 현황

SSHFS는 GNU GPL(GPL‑2.0) 라이선스로 배포되며, 원천 코드는 공개 저장소에서 관리된다. 프로젝트는 지속적으로 유지·보수되고 있으며, 최신 릴리스와 변경 로그는 공식 웹사이트 또는 GitHub 저장소에서 확인할 수 있다.

제한 사항 및 주의점

  • 파일 시스템 특성(예: 파일 권한, 심볼릭 링크, 특수 파일) 중 일부는 원격 시스템과 로컬 시스템 간의 차이에 따라 완전히 일치하지 않을 수 있다.
  • 대용량 파일 전송 시 SSH 연결 재설정에 따른 중단 위험이 존재한다.
  • Windows 환경에서는 별도 호환 레이어가 필요하므로, 설치 및 설정 과정이 복잡해질 수 있다.

요약: SSHFS는 SSH와 SFTP를 활용해 원격 파일 시스템을 로컬에 마운트하는 FUSE 기반 도구로, 보안성이 높고 설정이 간단하지만 성능 및 호환성 측면에서 제한이 존재한다.

둘러보기

더 찾아볼 만한 주제

    전체 문서 보기