当前位置: 首页 > 知识库问答 >
问题:

SFTP服务器在Apache Mina SSHD中设置用户/密码

梅耘豪
2023-03-14

我使用的这个例子取自Java SFTP服务器库?:

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服务器设置用户登录和pw。我该怎么做?谢谢

共有1个答案

狄卓君
2023-03-14

更改new UserAuthNone。Factory()新用户身份验证密码。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);
    }
});
 类似资料:
  • 我配置了一个无密码的SFTP服务器。我想使用带有用户名和密码的jsch(JAVA)库连接它。我一直在使用以下代码行:- JAVA中的这一行是否会覆盖SSH配置的设置(少密码)? 请注意SFTP服务器使用终端命令SFTP连接良好,没有提示密码。

  • 我试图扩展用户身份验证示例,这里也给出了这个示例,以便多个用户可以登录到服务器。我还想为每个用户分配一个不同的主目录。到目前为止,我还没有找到Apache SSHD API提供的任何此类实用程序,因此我尝试了以下解决方案,使用Apache FTPServer提供的实用程序。 我试图做的是:

  • 问题内容: 是否有一个Java库可用于实现SFTP服务器? 我正在尝试通过SFTP接收文件,但似乎找不到SFTP服务器的任何实现。我找到了FTP / SFTP / FTPS 客户端 库和FTP / FTPS服务器库,但没有找到用于SFTP的服务器。 为了澄清,我正在尝试通过SFTP 接收 文件。不能将应用程序中的文件“获取”或“放置”到其他现有服务器上。 现在,我的应用程序允许用户连接到本地lin

  • Debug 字段 该设置默认值是 false,当发生错误时,只返回错误信息本身。 当该字段设置为 true 时,当发生 panic 时,会将整个 panic 的错误堆栈信息返回给客户端,在用户进行 hprose 服务开发时,该设置可以帮助你快速定位错误位置。 ErrorDelay 字段 该设置为整型值,默认值为 10 秒。 该字段表示在调用执行时,如果发生异常,将延时一段时间后再返回给客户端。 在

  • 调试 symbols 让你能更好的调试 sessions. 它们有可执行的动态库的函数信息,并且提供信息来获得干净的调用堆栈. 一个 Symbol 服务器允许调试器自动加载正确的 symbols, 二进制文件 和 资源文件,不用再去强制用户下载巨大的调试文件. 服务器函数类似 Microsoft's symbol server,所以这些文档是可以使用的。 注意,因为公众版本的 Electron 构

  • 调试 symbols 让你能更好的调试 sessions. 它们有可执行的动态库的函数信息,并且提供信息来获得干净的调用堆栈. 一个 Symbol 服务器允许调试器自动加载正确的 symbols, 二进制文件 和 资源文件,不用再去强制用户下载巨大的调试文件. 服务器函数类似 Microsoft's symbol server,所以这些文档是可以使用的。 注意,因为公众版本的 Electron 构