正在寻找将首选身份验证方法设置为密码的方法。Spring Integration 6.1.0与Sping Boot 3.1.0
在以前的版本中,我们可以这样做-
@Bean
Properties configProperties(){
Properties config = new Properties();
config.setProperty("PreferredAuthentications", "password");
return config;
}
@Bean
SessionFactory<ChannelSftp.LsEntry> sftpSessionFactory(){
System.out.println("Creating Session");
DefaultSftpSessionFactory factory = new DefaultSftpSessionFactory();
factory.setHost("someSFTPServer");
factory.setUser("user");
factory.setPassword("SomePassword");
factory.setPort(22);
factory.setAllowUnknownKeys(true);
**factory.setSessionConfig(configProperties());**
return new CachingSessionFactory<ChannelSftp.LsEntry>(factory);
}
但是在6.1.0中setSessionConfig()不可用。
有没有人能给予一些关于如何处理这种情况的指导?
快速背景
我正在尝试使用用户名和密码连接到SFTP主机,但连接失败。查看日志,它似乎尝试使用method=keyboard-interactive长时间,最终主机在2分钟后关闭连接。所以,我想如果我可以在一开始就使用method=password,连接可能会成功建立。
我能够使用Filezilla/Cyberduck使用相同的凭据连接到相同的主机,没有任何问题。
1条答案
按热度按时间kgsdhlau1#
新版本的Spring Integration使用Apache MINA项目通过SSH客户端连接到SFTP。
查看其各自的选项,该选项超出了Spring Integration范围:
在这里,您可以只选择
UserAuthPasswordFactory
供您考虑。请参见相应的ctor以注入自定义
SshClient
: