티스토리 뷰

컴퓨터 팁(Tip)

sftp server 띄우기

야라바 2017. 6. 29. 11:57


임베디드 리눅스나 일반 리눅스 서버에 ssh가 설치되어서 putty등으로 콘솔 접속이 가능한 환경에서는 대부분 서버에 파일을 업로드하는 방법으로 ssh를 통해서 파일 전송을 수행합니다. ssh 서버가 파일 전송을 중개하는 것인데 통상 이를 SFTP라 부릅니다. 파일질라등의 주요 FTP 클라이언트 프로그램들은 TCP 21번 포트를 사용하는 원래의 FTP 전송 프로토콜과 함께 SFTP 전송 방법을 지원합니다. 


그런데 ssh를 통해서 서버에 콘솔 접속이 가능한 환경임에도 불구하고 SFTP 파일 전송이 않되는 경우가 있는데 그 원인중 하나는 ssh 서버와 함께 SFTP 서버를 설치해야 하는데 SFTP 서버가 가동되지 않은 까닭입니다. 이런 경우에는 소스 코드를 내려받아서 간편하게 빌드 및 실행 시킬 수 있습니다. 아래의 작업 단계들은 인터넷이 연결되어 있고 소스 빌드가 가능한 환경이 있다는 가정하에 진행한 것입니다.


■ 코드 내려받기

wget http://ftp.nluug.nl/security/OpenSSH/openssh-7.5p1.tar.gz


■ 압축 해제 및 빌드 준비

tar zxvf openssh-7.5p1.tar.gz

cd openssh-7.5p1/


■ 빌드

./configure

config.status: creating survey.sh

config.status: creating config.h


OpenSSH has been configured with the following options:

                     User binaries: /usr/local/bin

                   System binaries: /usr/local/sbin

               Configuration files: /usr/local/etc

                   Askpass program: /usr/local/libexec/ssh-askpass

                      Manual pages: /usr/local/share/man/manX

                          PID file: /var/run

  Privilege separation chroot path: /var/empty

            sshd default user PATH: /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin

                    Manpage format: doc

                       PAM support: no

                   OSF SIA support: no

                 KerberosV support: no

                   SELinux support: no

                 Smartcard support:

                     S/KEY support: no

              MD5 password support: no

                   libedit support: no

                   libldns support: no

  Solaris process contract support: no

           Solaris project support: no

         Solaris privilege support: no

       IP address in $DISPLAY hack: no

           Translate v4 in v6 hack: yes

                  BSD Auth support: no

              Random number source: OpenSSL internal ONLY

             Privsep sandbox style: seccomp_filter


              Host: armv7l-unknown-linux-gnueabihf

          Compiler: gcc

    Compiler flags: -g -O2 -Wall -Wpointer-arith -Wuninitialized -Wsign-compare -Wformat-security -Wsizeof-pointer-memaccess -Wno-pointer-sign -Wno-unused-result -fno-strict-aliasing -D_FORTIFY_SOURCE=2 -ftrapv -fno-builtin-memset -fPIE

Preprocessor flags:  -D_XOPEN_SOURCE=600 -D_BSD_SOURCE -D_DEFAULT_SOURCE

      Linker flags:  -Wl,-z,relro -Wl,-z,now -Wl,-z,noexecstack -pie

         Libraries: -lcrypto -ldl -lutil -lz  -lcrypt -lresolv


위의 내용은 임베디드 리눅스에서 빌드 환경을 준비한 과정입니다.

make sftp-server


■ 설치 및 실행

설치 및 실행은 각자의 시스템 환경에 따라 수행합니다.

cp sftp-server /usr/libexec/sftp-server

/usr/libexec/sftp-server &





공유하기 링크
TAG
,
댓글
댓글쓰기 폼