2017-09-21 12 views
0

내 C# 프로젝트에서 SFTP 서버에 연결하기 위해 ChilkatDotNet2.dll을 포함 시켰습니다. 순간, 나는 다음과 같은 간단한 연결 방법 implemt하는 것을 시도했다 :ChilkatDotNet2 : 서버에 연결 SFTP

Chilkat.Ftp2 F = null; 
F = (Chilkat.Ftp2)new Chilkat.Ftp2(); 
F.Hostname = "sftp.domain.com"; 
F.Username = "username"; 
F.Password = "password"; 
F.Port = 22; 
F.AuthTls = true; 

if (!(F.Connect())) { 
    MainFrm.set_AlertMessage(F.ConnectFailReason); 
} 

와 항상 연결에 실패하고 난 항상

연결을 의미 오류 (200)를 얻을 수 있지만,받지 못한 인사말을 FTP 서버에서.

Chilkat 설명서에 따라.

무엇이 누락 되었습니까? SSL/TLS없이 간단한 FTP 서버 테스트에 연결하려고 시도 했으므로 제대로 연결되어 있으므로 뭔가 빠졌습니다. Filezilla를 사용하여 SFTP 서버에 연결하려고 할 때 제공 한 자격 증명이 정확합니다. 감사합니다.

UPDATE

Chilkat.SFtp v_SFTP = null; 
v_SFTP = (Chilkat.SFtp)new Chilkat.SFtp(); 
if (v_SFTP.Connect("sftp.domain.com", 22) { 
    if (v_SFTP.AuthenticatePw("username", "password")) { 
     IDVariant v_SUCCESS = null; 
     bool v_SUCCESS = v_SFTP.InitializeSftp(); 
    } 
} 
else { 
    MainFrm.set_AlertMessage(v_SFTP.LastErrorText); 
} 
+0

200은 완료되었으며 연결 상태가 양호 함을 나타냅니다. 따라서 서버가 인사말을 보내지 않았습니다. 서버가 인사말을 보내지 않았을 수 있습니다. Filezilla로 로그온 할 때 인사말을 받았습니까? – jdweng

+0

나는 wireshark 또는 fiddler와 같은 스니퍼를 사용하여 ChilkatDotNet2 및 Filezilla 모두에 대한 연결을 캡처합니다. http 헤더가 누락 된 것 같지만 확실하지는 않습니다. – jdweng

+0

@jdweng : 친절한 답장을 보내 주셔서 감사합니다. 나는 당신이 나에게 제안한 것을하려고 노력하고있다. 그러나 피들러는 .NET 코드를 실행하는 웹 애플리케이션이나 FileZilla로부터 FTO에 관한 것을 포착 할 수 없다. 어쨌든 카시니를 사용하여 웹 응용 프로그램을 배포하기 전에 로컬에서 테스트해야합니다. 이것이 문제가 될 수 있습니까? –

답변

1
F = (Chilkat.Ftp2)new Chilkat.Ftp2(); 

Chilkat.Ftp2는 FTP 클라이언트입니다. 그것은 FTP 프로토콜을 지원합니다. SFTP는 완전히 다른 이름의 프로토콜입니다.

Chilkat을 사용하여 SFTP 서버에 연결하려면 Chilkat.SFtp을 확인하십시오.

+0

감사합니다. 매우 친절합니다. 이제 나는 더 잘 이해하지만, 나는 두려워하는 것들이 expcted보다 나쁘다. 당신이 제안한 코드를 썼습니다. (업데이트 된 답변을 원한다면) "제품이 잠금 해제되어 있지 않습니다. 먼저 UnlockComponent를 호출해야합니다"라는 오류 메시지가 나타납니다. 그래서 Chilkat는 자유롭지 않습니다. 나는 왜 이것이 간단한 FTP로 시도했을 때 이것을 알리지 않았는지 알 수 없다. 개발자 테스트 라이센스가 없습니까? SQL Server 2016 Dev와 유사합니다. 그것이 잘 작동된다면 사장에게 라이센스를 사도록 설득하려고 노력할 것입니다 ... –

+0

저는 C# 개발자가 아니며 라이브러리를 추천하라는 요청은 여기에 주제가 없습니다. 즉, Chilkat 외에 다른 C# SSH/SFTP 클라이언트가 있습니다. – Kenster