티스토리 뷰
임베디드 리눅스나 일반 리눅스 서버에 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 &
'컴퓨터 팁(Tip)' 카테고리의 다른 글
인터넷뱅킹 관련 프로그램 삭제하기 (0) | 2017.08.09 |
---|---|
QT debug 메시지 파일로 저장하기 (0) | 2017.06.29 |
microUSB 케이블로 윈도우에서 임베디드 장비의 콘솔 열기 (0) | 2017.05.30 |
CentOS 5 업데이트 오류시 대처 방법 (1) | 2017.04.25 |
유용한 윈도우 단축키, 탐색기 단축키 (0) | 2017.02.23 |