SFTP 프로토콜 기반의 SSH 통신을 구현하기 위해서는 Server에 OpenSSH를 달아주는 것 뿐만 아니라 Client(PLC)에도 셋팅이 필요하다.
WinSCP는 Windows용 그래픽 유저 인터페이스 SFTP 및 FTP 클라이언트 프로그램이고 오픈소스 프리웨어입니다. 레거시 SCP 프로토콜 역시 지원합니다.
이 프로그램을 사용하여 로컬 컴퓨터와 원격 컴퓨터 간에 안전하게 파일을 복사할 수 있습니다.
수많은 Windows GUI 기반 SFTP 클라이언트 프로그램 중 가장 보편적으로 사용되는 WinSCP를 사용하고자 한다.
우선 통신으로 직접적인 파일 송수신을 담당하는 WinSCP를 USB에 담아 Beckhoff PLC에 설치한다.
WinSCP 설치 후 실행하면 아래와 같은 화면을 만날 수 있다.
이 때, 세션 연결에 필요한 각 항목 설명은 다음과 같다.
ipconfig
or iptime 공유기에서 확인)SFTP 프로토콜의 인증 방식에는 위와 같이
로컬계정
인증과개인 & 공용 key
인증 방식이 가능하다. 본 포스팅에서는 로컬계정 인증 방식을 사용하였지만 더 강력한 보안을 위해서는 후자의 방식을 사용하는 것이 바람직하며,putty
와 같은 소프트웨어를 사용하는 것이 편리하다.
개발을 하다보면 원격 저장장소에 개발된 기능을 올려야하는 경우가 빈번하다.
일반적으로 파일을 전송하려면 sftp 접속 클라이언트 등을 활용하여 직접 파일을 업로드 해야하는데, 매번 사용자가 수동으로 변경할 파일을 직접 옮기거나 삭제를 해야되므로 상당히 번거로운 작업임이 틀림없다.
WinSCP는 자동으로 파일의 변경사항, 추가사항 및 삭제된 경우에 알아서 추적하는 기능을 제공하고 있다.
즉, Server와 PLC간 특정 폴더 및 파일의 실시간 동기화 또한 가능하다.
사용법은 매우 간단하다.
WinSCP의 세션 연결이 성공한 뒤 아래 사진 처럼 두 번째 버튼을 눌러 동기화를 실행한다.
기본적으로는 '수정된 내용"에 대해서만 동기화가 동작하게 되어있다.
설정을 마치고 시작
버튼을 눌러주면 실시간 동기화가 진행된다.
출처