Apache Mina 기본 FTP 서버를 here에서 다운로드하여 설치했습니다. FTP를 사용하여 연결할 수 있습니다.Apache Mina FTP 서버 SFTP 구성 및 FileZiza 또는 WInscp를 사용하는 SFTP 연결 또는 모든 ftp 클라이언트가 보안 채널을 사용했습니다.
아래의 구성으로 SFTP를 구성하려고 할 때 FIleZila 또는 다른 클라이언트를 사용하여 SFTP 연결을 시도 할 때 오류가 발생합니다.
서버 구성 :
keytool -genkey -alias ftpkeya -keysize 1024 -dname "cn=mydomain.com,o=mycompany,ou=company,l=Capelle,s=NL,c=NL" -keystore mykeystore.jks -keypass ftpkey -storepass ftpkey -keyalg RSA
keytool -list -keystore mykeystore.jks -storepass ftpkey -v
keytool -export -alias ftpkeya -keystore mykeystore.jks -storepass ftpkey -file serverCertificate.arm -rfc
내가 keysore 및 인증서를 생성하는 키 도구를 사용하고 있습니다 :
<?xml version="1.0" encoding="UTF-8"?>
<server xmlns="http://mina.apache.org/ftpserver/spring/v1"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:beans="http://www.springframework.org/schema/beans"
xsi:schemaLocation="
http://mina.apache.org/ftpserver/spring/v1 http://mina.apache.org/ftpserver/ftpserver-1.0.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd"
id="myServer">
<listeners>
<nio-listener name="default" port="2222" implicit-ssl="true" idle-timeout="60">
<ssl>
<keystore file="mykeystore.jks" password="ftpkey" key-password="ftpkey" />
</ssl>
</nio-listener>
</listeners>
<!--<file-user-manager file="users.properties"
encrypt-passwords="true" />-->
아래 내가 인증서를 생성하기 위해 사용하고있는 명령입니다. 인증서를 생성하고 위의 서버 구성에서 서버를 구성 할 때 SFTP 지원이 시작되지만 FTP 클라이언트 연결을 사용하여 연결을 시도하면 거부됩니다.
내 서버 로그에 다른 FTP 클라이언트와 다른 예외가 발생합니다.
WinScp을 사용하는 동안 벨로우즈 서버 예외 로그.
[ WARN] 2017-05-08 09:49:16,018 [] [0:0:0:0:0:0:0:1] EXCEPTION :
org.apache.mina.core.write.WriteToClosedSessionException
at org.apache.mina.core.polling.AbstractPollingIoProcessor.clearWriteRequestQueue(AbstractPollingIoProcessor.java:641)
at org.apache.mina.core.polling.AbstractPollingIoProcessor.removeNow(AbstractPollingIoProcessor.java:592)
at org.apache.mina.core.polling.AbstractPollingIoProcessor.removeSessions(AbstractPollingIoProcessor.java:562)
at org.apache.mina.core.polling.AbstractPollingIoProcessor.access$800(AbstractPollingIoProcessor.java:68)
at org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run(AbstractPollingIoProcessor.java:1149)
at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
[ WARN] 2017-05-08 09:49:16,019 [] [0:0:0:0:0:0:0:1] Client closed connection before all replies could be sent, last reply was WriteRequest: HeapBuffer[pos=0 lim=20 cap=20: 35 33 30 20 41 63 63 65 73 73 20 64 65 6E 69 65...]
[ INFO] 2017-05-08 09:49:16,019 [] [0:0:0:0:0:0:0:1] CLOSED
내가 filezila를 사용하고 때 더 다른.
클라이언트 측 로그 :
Status: Waiting to retry...
Status: Connecting to 172.27.136.44:2222...
Response: fzSftp started, protocol_version=8
Command: open "[email protected]" 2222
Error: Network error: Connection refused
Error: Could not connect to server
서버 측 로그 어떤에서 연결하는 동안 서버 로그에 어떤 차이가 안가 기대하고 FileZilla의에서
[ WARN] 2017-05-08 09:42:45,913 [] [172.27.136.44] EXCEPTION :
java.io.IOException: An existing connection was forcibly closed by the remote host
at sun.nio.ch.SocketDispatcher.read0(Native Method)
at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43)
at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223)
at sun.nio.ch.IOUtil.read(IOUtil.java:197)
at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:380)
at org.apache.mina.transport.socket.nio.NioProcessor.read(NioProcessor.java:280)
at org.apache.mina.transport.socket.nio.NioProcessor.read(NioProcessor.java:44)
at org.apache.mina.core.polling.AbstractPollingIoProcessor.read(AbstractPollingIoProcessor.java:695)
at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:668)
at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:657)
at org.apache.mina.core.polling.AbstractPollingIoProcessor.access$600(AbstractPollingIoProcessor.java:68)
at org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run(AbstractPollingIoProcessor.java:1141)
at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
[ERROR] 2017-05-08 09:42:45,916 [] [172.27.136.44] Exception caught, closing session
java.io.IOException: An existing connection was forcibly closed by the remote host
at sun.nio.ch.SocketDispatcher.read0(Native Method)
at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43)
at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223)
at sun.nio.ch.IOUtil.read(IOUtil.java:197)
at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:380)
at org.apache.mina.transport.socket.nio.NioProcessor.read(NioProcessor.java:280)
at org.apache.mina.transport.socket.nio.NioProcessor.read(NioProcessor.java:44)
을 연결하는 동안 FTP 클라이언트 나는 왜 여기에 문제가 있는지 이해하지 못한다. 본인이 참조했습니다 link.
도움과 정보를 미리 감사드립니다.
클라이언트 측 로그도 표시하십시오. –
클라이언트 측 filezilla 로그가 추가되었습니다. 나는 어디에서 winscp 로그를 얻을 수 있는지 모르겠습니다. –
로그가 내 대답을 확인합니다. - FTP (S) 서버에 SFTP 프로토콜로 연결 중입니다. 그건 안돼.클라이언트 측에서 FTP (S)를 사용하십시오. 또는 SFTP 서버를 실제로 구현해야하는 경우 완전히 잘못된 경로에 있습니다. –