2013-07-29 9 views
10

में पासवर्ड मैं इस उदाहरण, Java SFTP Server Library? से लिया उपयोग कर रहा हूँ:SFTP सर्वर सेट उपयोगकर्ता/अपाचे मीना SSHD

public void setupSftpServer(){ 
    SshServer sshd = SshServer.setUpDefaultServer(); 
    sshd.setPort(22); 
    sshd.setKeyPairProvider(new SimpleGeneratorHostKeyProvider("hostkey.ser")); 

    List<NamedFactory<UserAuth>> userAuthFactories = new ArrayList<NamedFactory<UserAuth>>(); 
    userAuthFactories.add(new UserAuthNone.Factory()); 
    sshd.setUserAuthFactories(userAuthFactories); 

    sshd.setCommandFactory(new ScpCommandFactory()); 

    List<NamedFactory<Command>> namedFactoryList = new ArrayList<NamedFactory<Command>>(); 
    namedFactoryList.add(new SftpSubsystem.Factory()); 
    sshd.setSubsystemFactories(namedFactoryList); 

    try { 
     sshd.start(); 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
} 

लेकिन मैं SFTP सर्वर के लिए उपयोगकर्ता लॉगिन निर्धारित करने की आवश्यकता है और पीडब्लू। मैं यह कैसे कर सकता हूँ? धन्यवाद

+0

क्या आपके पास कोई भाग्य है? इसमें दस्तावेज की कमी है। कृपया मुझे अपना अनुभव साझा करने में मदद करें। –

+0

कोई भाग्य नहीं, अभी भी प्रतिक्रिया के लिए इंतजार कर रहा है। – Alvins

+0

मैंने एक उत्तर बनाया, शायद यह आपकी मदद कर सकता है: http://stackoverflow.com/questions/18694108/apache-mina-sshd-problems-with-authentication-method-when-connecting-to-server/21553897#21553897 – Chris

उत्तर

10

new UserAuthNone.Factory()new UserAuthPassword.Factory() बदलें और फिर PasswordAuthenticator ऑब्जेक्ट को लागू और पंजीकृत करें। इसकी authenticate विधि वैध उपयोगकर्ता नाम और पासवर्ड पैरामीटर के लिए true वापस करनी चाहिए।

List<NamedFactory<UserAuth>> userAuthFactories = new ArrayList<NamedFactory<UserAuth>>(); 
userAuthFactories.add(new UserAuthPassword.Factory()); 
sshd.setUserAuthFactories(userAuthFactories); 

sshd.setPasswordAuthenticator(new PasswordAuthenticator() { 
    public boolean authenticate(String username, String password, ServerSession session) { 
     return "tomek".equals(username) && "123".equals(password); 
    } 
}); 
+0

मुझे बहुत मदद की, धन्यवाद! – Chris

संबंधित मुद्दे