SQLite3 같은 파일 기반 데이터베이스를 원격 서버에서 다뤄야 할 때, SSHFS를 이용하면 편리하다. 이번엔 터미널 명령어 없이 Windows 탐색기만 사용해서 SSHFS로 원격 디렉토리를 마운트하는 방법을 정리해봤다. 특히 Python에서 SQLite를 바로 연결하는 방법까지도 함께 다뤘다.


필요한 준비물

  1. WinFsp 설치
    WinFsp 다운로드 페이지에서 최신 배포를 받아 설치한다.
  2. SSHFS-Win 설치
    SSHFS-Win GitHub 페이지에서 시스템 환경(x86 또는 x64)에 맞는 설치 파일을 다운로드해 설치한다.

탐색기를 사용한 원격 서버 마운트

  1. 탐색기에서 네트워크 드라이브 연결 찾기
    • 내 PC를 열고 탐색기 상단의 점 세 개 버튼을 클릭한다.
    • 메뉴에서 네트워크 드라이브 연결을 선택한다.
  2. 원격 서버 경로 입력
    • 원하는 드라이브 문자를 선택한다. (예: Z:)
    • 폴더 입력란에 아래 형식대로 경로를 입력한다:예를 들어:
      • REMUSER: 원격 서버 사용자 이름 (예: user)
      • HOST: 원격 서버 주소 (예: 192.168.1.100)
      • PORT: SSH 포트 (기본값: 22)
      • ABSOLUTE_PATH: 루트 경로 기준으로 마운트할 디렉토리 경로 (예: /home/user/...)
    • \\sshfs.r\user@192.168.1.100!22\home\user\project\db
    • \\sshfs.r\REMUSER@192.168.1.100!22\ABSOLUTE_PATH
  3. 사용자 인증
    • 이 사용자로 연결을 체크하고 원격 서버의 사용자 이름과 비밀번호를 입력한다.
    • 자주 사용하는 환경이라면, Windows 자격 증명 관리자에 암호를 저장할 수 있다.
  4. 연결 확인
    • 설정이 완료되면 내 PC에 새로운 네트워크 드라이브로 표시된다.
    • 이제 이 드라이브를 로컬 디렉토리처럼 사용할 수 있다.

Python에서 SQLite3로 원격 서버 데이터베이스 연결하기

Python으로 원격 서버의 SQLite 데이터베이스를 연결하려면, 먼저 SSHFS로 마운트된 경로를 사용하면 된다.

import sqlite3

# 마운트된 드라이브 경로를 사용해 데이터베이스 파일 연결

db\_path = r"Z:\\my.db" # Z:는 네트워크 드라이브 문자  
conn = sqlite3.connect(db\_path)

# SQLite 명령 실행

cursor = conn.cursor()  
cursor.execute("SELECT * FROM example_table")  
rows = cursor.fetchall()  
for row in rows:  
print(row)

conn.close()
Posted by 공돌이pooh
,