리눅스에서 smbclient를 사용하는 방법

Windows 파일 공유는 많은 회사와 가정에서 사용하는 중요한 기능입니다. 리눅스에서도 윈도우 파일 서버와 쉽게 연동하여 파일을 관리할 수 있는데, smbclient는 이러한 작업에 유용한 도구입니다. 이 글에서는 리눅스에서 smbclient를 사용하여 SMB 프로토콜을 통해 파일 서버에 접근하고 파일을 전송하는 방법을 안내합니다.


smbclient란?

smbclient는 SMB/CIFS 프로토콜을 통해 네트워크 상에서 윈도우 파일 서버에 접근할 수 있게 해주는 CLI 기반 클라이언트입니다. SMB는 Server Message Block의 약자로, Microsoft 네트워크에서 널리 사용되는 파일 공유 프로토콜입니다. smbclient는 이를 지원하여 리눅스 환경에서도 윈도우와 호환되는 파일 공유를 할 수 있도록 도와줍니다.


smbclient 설치 방법

대부분의 리눅스 배포판에는 기본 패키지 저장소에 smbclient가 포함되어 있습니다. 배포판에 따라 다음 명령어로 설치할 수 있습니다.

# Debian/Ubuntu
sudo apt update
sudo apt install smbclient

# RHEL/CentOS
sudo yum install samba-client

# Fedora
sudo dnf install samba-client

설치가 완료되면 터미널에서 smbclient 명령을 사용할 수 있습니다.


기본 명령어 사용법

smbclient를 이용해 특정 파일 서버에 연결하려면, 서버 주소와 공유 폴더 이름을 입력해야 합니다. 기본 구문은 다음과 같습니다.

smbclient //서버주소/공유폴더 -U 사용자이름

연결 후에는 비밀번호를 입력하라는 프롬프트가 나타납니다.

smbclient 명령어의 기본 동작

연결이 성공하면 smb:로 시작하는 프롬프트가 표시됩니다. 이 상태에서 다양한 명령어를 사용하여 서버 상의 파일을 관리할 수 있습니다.

디렉토리 나열

현재 디렉토리의 파일과 폴더 목록을 확인하려면 다음과 같이 입력합니다.

smb: \> ls

파일 다운로드

서버에서 로컬 컴퓨터로 파일을 다운로드하려면 get 명령을 사용합니다.

smb: \> get 파일이름

파일 업로드

로컬 파일을 서버에 업로드하려면 put 명령을 사용합니다.

smb: \> put 파일이름

예를 들어, 로컬에 있는 upload.txt파일을 서버에 업로드하려면 다음과 같이 입력합니다.

smb: \> put upload.txt

디렉토리 이동

서버에서 디렉토리를 이동하려면 cd 명령을 사용할 수 있습니다.

smb: \> cd 폴더이름

예를 들어, documents 폴더로 이동하려면 다음과 같이 입력합니다.

smb: \> cd documents

파일 삭제

서버 상의 파일을 삭제하려면 del 명령을 사용합니다.

smb: \> del 파일이름

예를 들어, old_file.txt를 삭제하려면 다음과 같이 입력합니다.

smb: \> del old_file.txt

연결 종료

smbclient 세션을 종료하려면 exit를 입력합니다.

smb: \> exit

인증 문제 해결하기

연결 시 인증 오류가 발생할 경우, SMB 프로토콜 버전 설정을 변경해보세요. SMB1, SMB2, SMB3 중 일부 서버는 특정 버전만 지원할 수 있습니다. 프로토콜 버전을 지정하여 연결하려면 -m 옵션을 사용할 수 있습니다.

예를 들어, SMB2를 사용하려면 다음과 같이 입력합니다.

smbclient //192.168.1.100/shared -U user -m SMB2

마무리

smbclient는 리눅스 환경에서 윈도우 파일 서버와 통신할 수 있는 강력한 도구입니다. 다양한 명령어를 활용하여 파일 다운로드, 업로드, 삭제 등 여러 작업을 수행할 수 있으며, 스크립트를 통해 자동화할 수도 있습니다. smbclient를 잘 활용하면 리눅스와 윈도우 간의 파일 공유가 훨씬 수월해집니다.