Java SFTP连接失败(无密码服务器)
我已经配置了一个无密码的SFTP服务器。 我想使用带有用户名和密码的jsch(JAVA)库来连接它。 我一直在使用以下代码行:- session.setConfig(“PreferredAuthentications”, “密码,基于主机,公钥”) JAVA中的这一行会覆盖SSH配置(无密码)的设置吗Java SFTP连接失败(无密码服务器),java,ssh,sftp,jsch,sshd,Java,Ssh,Sftp,Jsch,Sshd,我已经配置了一个无密码的SFTP服务器。 我想使用带有用户名和密码的jsch(JAVA)库来连接它。 我一直在使用以下代码行:- session.setConfig(“PreferredAuthentications”, “密码,基于主机,公钥”) JAVA中的这一行会覆盖SSH配置(无密码)的设置吗 请注意,SFTP服务器使用终端命令SFTP连接良好,没有提示密码。否。它不会覆盖服务器SSH配置 这行代码只会告诉ssh客户端(即您的代码)在尝试连接到SFTP服务器时要尝试什么类型的身份验证方法
请注意,SFTP服务器使用终端命令SFTP连接良好,没有提示密码。否。它不会覆盖服务器SSH配置 这行代码只会告诉ssh客户端(即您的代码)在尝试连接到SFTP服务器时要尝试什么类型的身份验证方法 客户端将尝试服务器也支持的第一种方法,并尝试使用此方法创建连接 这在本文中得到了很好的解释 当然,您必须将SSH服务器配置为允许密码身份验证。为此,应在以下位置打开ssh_配置文件:
/etc/ssh/ssh_config
并取消对下一行的注释
PasswordAuthentication yes
使用Jsch库可以实现如下所述 初始化Jsch并从中获取
com.jcraft.Jsch.Session
对象,然后在此Session
对象中设置UserInfo
使用超时值取消会话连接,然后打开通道传输文件
if(null != session && !session.isConnected()){
session.connect(10000);
}
ChannelSftp sftpChannel = (ChannelSftp)
session.openChannel(UIConstants.SFTP);
sftpChannel.connect();
您需要ChannelSftp进行文件传输
关于Jsch库的更多详细信息什么是“无密码服务器”?你这是什么意思?+向我们展示一个JSch日志文件,以及
ssh-v…
输出(都运行在同一台机器上,连接到同一台服务器)。这如何回答这个问题?