sftp 相关问题

一般SFTP支持是OFF-TOPIC。可以在https://superuser.com上询问支持问题。 SSH文件传输协议,一种网络协议,旨在通过SSH(Secure Shell协议)提供安全的文件传输和操作工具。

JSch算法协商失败

我尝试通过Java连接SFTP服务器。 我收到一个错误。 com.jcraft.jsch.JSchException:算法协商失败 这是 POM: com.jcraft 我尝试通过Java连接SFTP服务器。 我遇到错误。 com.jcraft.jsch.JSchException:算法协商失败 这是 POM: <dependency> <groupId>com.jcraft</groupId> <artifactId>jsch</artifactId> <version>0.1.53</version> </dependency> 这是日志: INFO: Connecting to **"FTP ADRESS"** port 22 INFO: Connection established INFO: Remote version string: SSH-2.0-Maverick_SSHD INFO: Local version string: SSH-2.0-JSCH-0.1.53 INFO: CheckCiphers: aes256-ctr,aes192-ctr,aes128-ctr,aes256-cbc,aes192-cbc,aes128-cbc,3des-ctr,arcfour,arcfour128,arcfour256 INFO: aes256-ctr is not available. INFO: aes192-ctr is not available. INFO: aes256-cbc is not available. INFO: aes192-cbc is not available. INFO: CheckKexes: diffie-hellman-group14-sha1,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521 INFO: diffie-hellman-group14-sha1 is not available. INFO: ecdh-sha2-nistp256 is not available. INFO: ecdh-sha2-nistp384 is not available. INFO: ecdh-sha2-nistp521 is not available. INFO: CheckSignatures: ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521 INFO: ecdsa-sha2-nistp256 is not available. INFO: ecdsa-sha2-nistp384 is not available. INFO: ecdsa-sha2-nistp521 is not available. INFO: SSH_MSG_KEXINIT sent INFO: SSH_MSG_KEXINIT received INFO: kex: server: diffie-hellman-group1-sha1,diffie-hellman-group-exchange-sha1 INFO: kex: server: ssh-rsa INFO: kex: server: aes256-cbc,aes192-cbc INFO: kex: server: aes256-cbc,aes192-cbc INFO: kex: server: hmac-sha1,hmac-sha1-96 INFO: kex: server: hmac-sha1,hmac-sha1-96 INFO: kex: server: none INFO: kex: server: none INFO: kex: server: INFO: kex: server: INFO: kex: client: diffie-hellman-group-exchange-sha256,diffie-hellman-group-exchange-sha1,diffie-hellman-group1-sha1 INFO: kex: client: ssh-rsa,ssh-dss INFO: kex: client: aes128-ctr,aes128-cbc,3des-ctr,3des-cbc,blowfish-cbc INFO: kex: client: aes128-ctr,aes128-cbc,3des-ctr,3des-cbc,blowfish-cbc INFO: kex: client: hmac-md5,hmac-sha1,hmac-sha2-256,hmac-sha1-96,hmac-md5-96 INFO: kex: client: hmac-md5,hmac-sha1,hmac-sha2-256,hmac-sha1-96,hmac-md5-96 INFO: kex: client: none INFO: kex: client: none INFO: kex: client: INFO: kex: client: INFO: Disconnecting from "FTP ADRESS" port 22 我遇到了这个错误,我试图修复它。我无法访问 SFTP 服务器来下载或更新任何文件等... 我可以通过FileZilla连接服务器,但我无法通过Java连接服务器。 连接代码: JSch jsch = new JSch(); Properties config = new Properties(); config.put("cipher.s2c", "aes128-ctr,aes128-cbc,3des-ctr,3des-cbc,blowfish-cbc,aes192-ctr,aes192-cbc,aes256-ctr,aes256-cbc"); config.put("cipher.c2s", "aes128-ctr,aes128-cbc,3des-ctr,3des-cbc,blowfish-cbc,aes192-ctr,aes192-cbc,aes256-ctr,aes256-cbc"); config.put("kex", "diffie-hellman-group1-sha1,diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha1,diffie-hellman-group-exchange-sha256"); Session jschSession = jsch.getSession("username","server",22); jschSession.setConfig("StrictHostKeyChecking", "no"); jschSession.setPassword("password"); jschSession.setConfig(config); jschSession.connect(); 当我添加时 config.put("cipher.s2c", "aes128-ctr,aes128-cbc,3des-ctr,3des-cbc,blowfish-cbc,aes192-ctr,aes192-cbc,aes256-ctr,aes256-cbc"); 日志是这样的 INFO: Connecting to ftp.servername port 22 INFO: Connection established INFO: Remote version string: SSH-2.0-Maverick_SSHD INFO: Local version string: SSH-2.0-JSCH-0.1.53 INFO: CheckCiphers: aes256-ctr,aes192-ctr,aes128-ctr,aes256-cbc,aes192-cbc,aes128-cbc,3des-ctr,arcfour,arcfour128,arcfour256 INFO: aes256-ctr is not available. INFO: aes192-ctr is not available. INFO: aes256-cbc is not available. INFO: aes192-cbc is not available. INFO: CheckKexes: diffie-hellman-group14-sha1,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521 INFO: diffie-hellman-group14-sha1 is not available. INFO: ecdh-sha2-nistp256 is not available. INFO: ecdh-sha2-nistp384 is not available. INFO: ecdh-sha2-nistp521 is not available. INFO: CheckSignatures: ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521 INFO: ecdsa-sha2-nistp256 is not available. INFO: ecdsa-sha2-nistp384 is not available. INFO: ecdsa-sha2-nistp521 is not available. INFO: SSH_MSG_KEXINIT sent INFO: SSH_MSG_KEXINIT received INFO: kex: server: diffie-hellman-group1-sha1,diffie-hellman-group-exchange-sha1 INFO: kex: server: ssh-rsa INFO: kex: server: aes256-cbc,aes192-cbc INFO: kex: server: aes256-cbc,aes192-cbc INFO: kex: server: hmac-sha1,hmac-sha1-96 INFO: kex: server: hmac-sha1,hmac-sha1-96 INFO: kex: server: none INFO: kex: server: none INFO: kex: server: INFO: kex: server: INFO: kex: client: diffie-hellman-group1-sha1,diffie-hellman-group-exchange-sha1,diffie-hellman-group-exchange-sha256 INFO: kex: client: ssh-rsa,ssh-dss INFO: kex: client: aes128-ctr,aes128-cbc,3des-ctr,3des-cbc,blowfish-cbc INFO: kex: client: aes128-ctr,aes128-cbc,3des-ctr,3des-cbc,blowfish-cbc INFO: kex: client: hmac-md5,hmac-sha1,hmac-sha2-256,hmac-sha1-96,hmac-md5-96 INFO: kex: client: hmac-md5,hmac-sha1,hmac-sha2-256,hmac-sha1-96,hmac-md5-96 INFO: kex: client: none INFO: kex: client: none INFO: kex: client: INFO: kex: client: INFO: Disconnecting from ftp.servername port 22 com.jcraft.jsch.JSchException: Algorithm negotiation fail 如您所见,服务器提供以下密码: 信息:kex:服务器:aes256-cbc,aes192-cbc 但是 JSch 只接受这些: 信息:kex:客户端:aes128-ctr,aes128-cbc,3des-ctr,3des-cbc,blowfish-cbc 没有通用密码可供选择。 请注意,JSch 确实支持 aes256-cbc 和 aes192-cbc,但需要 JCE(Java 加密扩展)才能允许它们。 您可能没有 JCE,因此这些密码不可用。这就是为什么有 信息:aes256-cbc 不可用。 下载 Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files 8(或其他版本,如果是其他 JDK – 1.7、1.6、IBM JDK 1.6)。 另请参阅密码“aes256-cbc”是必需的,但它不可用。 我通过将以下行添加到 /etc/ssh/sshd_config 并重新启动 sshd 服务来解决这个问题。感谢@wierzbiks 在另一个线程中的回答 KexAlgorithms [email protected],ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha1,diffie-hellman-group1-sha1 我解决了这个问题,将库 jsch-0.1.27.jar 更新为 jsch-0.1.54.jar。 最后在你的代码中你应该写这样的东西: your Method { session.setConfig("StrictHostKeyChecking", "no"); // That solve the problem. } 如果您需要此 Java 版本,此代码适用于 Java 1.5 或更高版本。

回答 3 投票 0

如何通过固定出站端口连接到SFTP服务器?

我有一个小应用程序,一个用 C# 编写的命令行可执行文件,它使用 Renci.SSHNet 库连接到不同的 SFTP 服务器来下载文件。 事情是这样的,应

回答 1 投票 0

在 UNIX 脚本中运行的 SFTP 中使用变量

尝试从我们的数据库服务器中提取文件并将其带到我们的应用程序服务器(均为 AIX)。 该文件末尾有一个时间戳,以使其具有唯一性。 UA401.dat。 过程是... 一个 cobol 程序...

回答 1 投票 0

rsa-sha2-512、rsa-sha2-256、ssh-rsa 的 sftp 指纹应该相同吗?

我正在连接到 sftp 服务器,当指定这三个(rsa-sha2-512、rsa-sha2-256、ssh-rsa)中的任何一种主机密钥算法时,都会返回相同的指纹。我期待的是

回答 1 投票 0

Paramiko 引发“SFTPError:收到垃圾数据包”

以下代码: t = paramiko.Transport((主机名, 端口)) t.connect(用户名=用户名,密码=密码) sftp = t.open_sftp_client() 引发此异常: 追溯(最近的...

回答 2 投票 0

使用 SSH.NET 上传到 SFTP 服务器失败,并出现 SftpPathNotFoundException:“系统找不到指定的路径。”

我正在尝试使用 Renci SSH.NET 通过 SFTP 上传文件。 连接: 使用 SSH.NET 连接到 sFTP 站点似乎有效:SftpClient 的 IsConnected 返回 true。 使用 FileZilla 连接,

回答 1 投票 0

Azure 函数 - 连接到 SFTP 服务器时出错:输入字符串的格式不正确

我正在尝试编写一组允许应用程序之间进行 SFTP 调用的 Azure 函数。我正在使用 Renci.SshNet 库。 对我来说这一切看起来都是正确的,但是当它运行时我收到错误: ...

回答 1 投票 0

rails 中 Net::SFTP 的多文件模式

在我的 Rails 应用程序中,我正在连接到 SFTP 并根据模式下载文件。 我的代码如下所示: 需要“net/sftp” ... Net::SFTP.start(主机、用户、配置) do |sftp| Rails.logger.

回答 1 投票 0

JSch 0.1.53 session.connect() 抛出“IO 流读取结束”

我下载了新的 JSch 0.1.53 库,JSch (sftp) 下载任务不再起作用。此版本在 session.connect() 函数上失败,抛出错误 Session.connect: java.io.IOException: End of...

回答 5 投票 0

在Python中使用SFTP上传文件,但如果路径不存在则创建目录

我想用Python在远程服务器上上传文件。我想事先检查远程路径是否确实存在,如果不存在,则创建它。在伪代码中: 如果(远程路径不存在):...

回答 8 投票 0

无法连接到 Apache MINA sshd 服务器

我正在尝试使用 Apache MINA sshd 设置 sftp 服务器。但我在尝试连接到服务器时发现通道 0 上的子系统请求失败。 sftp -P 22 john@localhost ...

回答 2 投票 0

使用 Renci SSH.NET 是否可以创建一个包含不存在子文件夹的文件夹

我目前正在使用 Renci SSH.NET 使用 SFTP 将文件和文件夹上传到 Unix 服务器,并使用创建目录 sftp.CreateDirectory("//server/test/test2"); 工作完美,...

回答 7 投票 0

在 PHP 中从 SFTP 服务器打开 CSV 文件

我们当前从服务器打开一个 csv,然后对数据执行一些操作,如下所示: $CSVfile = fopen('文件名.csv', "r"); if($CSVfile !== FALSE) { $计数 = 0; while(!feof($CSVfi...

回答 1 投票 0

SFTP 中的 ftp_chdir 等效项是什么?

我正在研究SFTP部分(用PHP)。我知道在 FTP 中建立连接后更改目录的功能是 ftp_chdir。 SFTP中有什么类似的功能? 是 ssh2_sftp_readli...

回答 1 投票 0

可以通过WinSCP打开SFTP连接,但不能使用JSch

我正在尝试连接到无法通过 JSch 管理的远程设备,尽管我可以使用具有相同凭据的 WinSCP 客户端进行连接。 该应用程序是基于 J2EE 的企业应用程序...

回答 2 投票 0

如何使用密钥使用 Paramiko Transport 类进行 sftp?

与其他合作伙伴一起,我们可以轻松获得连接密码。这是我们目前使用密码通过代理合作伙伴的 SFTP 服务器进行连接的代码: 进口帕里科

回答 1 投票 0

PHP 中的 SFTP,带密钥

我希望使用 PHP 中的代码通过 SFTP 使用密钥对进行身份验证。 我正在使用 Laravel,但我希望使用单独的 SFTP 进行编码。 通过研究我有: 作曲家需要 phpseclib/phpseclib:~3.0 W...

回答 1 投票 0

Azure Function 出站 IP 地址问题

我遇到了一种情况,需要将一堆 Node.js 脚本从本地服务器上的计划任务移动到 Azure Functions。其中之一与供应商控制的服务器建立 SFTP 连接...

回答 1 投票 0

无法使用 shareplum 和 paramiko 库从共享点传递下载的类似文件的对象

我在使用 paramiko 的 putfo() 传递文件对象时收到错误。 属性错误:“字节”对象没有属性“读取” 这是我的 putfo() 的样子 ssh_client = paramiko.SSHClien...

回答 1 投票 0

AWS Glue 可以通过 SFTP 连接到远程服务器吗?

我正在尝试使用 Python 3.7 通过 SFTP 建立从 AWS Glue 到远程服务器的连接。我尝试使用 pysftp 库来完成此任务。 但是 pysftp 使用一个名为 bcrypt 的库,它有 p...

回答 3 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.