标签: jsch

使用ganymed SSH2发送SIGINT CTRL-C?

我需要终止一个我已经开始使用 ganymed SSH2 的进程。具体来说,我想使用Ctrl+优雅地杀死它C。我已经看到了尝试发送 ASCII 的想法,\x03但是在使用 execCommand() 时它不会使用转义字符。如何通过ganymed发送Ctrl+ CSIGINT?

如果我应该使用另一个 Java SSH 应用程序,请告诉我,我已经研究了 Jsch、sshj,但发现 ganymed ssh2 是最简单的。

我试图杀死的程序是 tethereal (wireshark)

java ssh jsch sigint

1
推荐指数
1
解决办法
3883
查看次数

我可以使用 Jsch 来伪造与本地主机的 ssh 连接吗?

我花了很多时间开发一个应用程序,该应用程序将使用 JSch 并通过 ssh 连接到远程计算机以执行一些命令行操作。但是我了解到这些操作也可以在本地主机上执行(我的应用程序在本地主机上运行)。现在...我懒得重写所有代码,老实说我感觉很糟糕,因为我真的很喜欢 JSch。有没有办法欺骗 JSch 连接到 localhost,或者以某种方式告诉它只使用 localhost,即使代码另有说明?:)

PS,如果不可能,为什么常规 Proccess 类不像 JSch 那样支持 setOutputStream 和 setErrStream,而只支持 getInputStream 和 getErrorStream ?

java ssh jsch

1
推荐指数
1
解决办法
5167
查看次数

jsch sftp - 切换到父目录

我正在尝试弄清楚如何使用 Jsch Sftp 找出如何转到父目录。

我将当前路径存储在一个字符串中,我猜是 channelSftp.cd(String); 是我应该使用的。但是在当前路径上使用子字符串我感觉不对。有一个更好的方法吗?

java sftp android jsch

1
推荐指数
1
解决办法
4386
查看次数

通过 SFTP 传输文件

我想通过 SFTP 传输文件。我发现了一个类似的问题,该问题来自如何在 java 中通过 SFTP 传输文件?. 我从本地主机上的帖子中尝试了建议的解决方案。但我在输出下显示以下错误。

输出

preparing the host information for sftp.
Host connected.
sftp channel opened and connected.
2: No such file
at com.jcraft.jsch.ChannelSftp.throwStatusError(ChannelSftp.java:2846)
at com.jcraft.jsch.ChannelSftp._realpath(ChannelSftp.java:2340)
at com.jcraft.jsch.ChannelSftp.cd(ChannelSftp.java:342)
at ScpTo.main(ScpTo.java:69)
File transfered successfully to host.
sftp Channel exited.
Channel disconnected.
Host Session disconnected.
Run Code Online (Sandbox Code Playgroud)

代码

import java.io.File;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;

import com.jcraft.jsch.Channel;
import com.jcraft.jsch.ChannelSftp;
import com.jcraft.jsch.JSch;
import com.jcraft.jsch.JSchException;
import com.jcraft.jsch.Session;
import com.jcraft.jsch.SftpException;

public class ScpTo {

    /**
     *
     */
    public ScpTo() { …
Run Code Online (Sandbox Code Playgroud)

java sftp jsch

1
推荐指数
1
解决办法
3万
查看次数

JSCH setCommand 不起作用

没有出现异常,命令也没有根据提到的命令进行任何工作。这里没有创建目录权限,也没有创建目录。请给出您的建议。

更新: 添加了channelexe.getExitStatus,但问题是它给出了-1,这是什么意思?我不知道如何找到一些解释为什么命令没有完成它的工作(更新fileDir1的 777 模式)。

        String depDir = "/usr/local/FTPReceive/DEPLOYED/fileDir1";
        log.info("updateDepositedFilePermission ........ starts"); 
        Session session = new FTPComponent().getSession("");
        Channel channel = null;
        ChannelSftp channelSftp = null;
        try
        {
            session.connect();
            System.out.println("session is alive:" + session.isConnected());
            channel = session.openChannel("sftp");
            channel.connect();

            channelSftp = (ChannelSftp) channel;
            ChannelExec channelexe = (ChannelExec) session.openChannel("exec");
            channelexe.setCommand("chmod 777 -R " + depDir);                
            channelexe.connect();
            System.out.println("channelexe.getExitStatus:"+channelexe.getExitStatus());
        }
        catch (Exception e1)
        {
            e1.printStackTrace();
            System.out.println("Manual Exception in updateDepositedFilePermission:" + CommonUtil.getExceptionString(e1));
        }
Run Code Online (Sandbox Code Playgroud)

jsch

1
推荐指数
1
解决办法
2077
查看次数

SFTP Java-管道关闭Jsch异常

我正在研究一种将文件从一个位置复制到另一个远程位置的java方法。我的代码如下。我尝试使用jsch 0.1.42&0.1.50&0.1.54

      public static void processFiles(ArrayList<String> FilesToBeCopied, String destFilePath) throws IOException {
        SftpClient client = new SftpClient("karthick");
        String keyFilePath = "/ab/c/d/id_rsa";
        String sftpUser = "karthickkb";
        client.login(sftpUser, keyFilePath, null);
        client.changeWorkingDirectory(destFilePath);
        Configuration conf = new Configuration();
        FileSystem fs = FileSystem.get(conf);
        FSDataInputStream fsdisPath = null;
        String filePath = null;
        for (String sourcefilePath : FilesToBeCopied) {
            try {
                filePath = sourcefilePath;
                Path inputPath = new Path(filePath);
                fsdisPath = fs.open(inputPath);
                BufferedInputStream bis = new BufferedInputStream(fsdisPath);
                client.storeFile(inputPath.getName(), bis);
                fsdisPath.close();
                fsdisPath = null;
            } catch (Exception …
Run Code Online (Sandbox Code Playgroud)

java authentication sftp jsch mule

1
推荐指数
1
解决办法
1万
查看次数

使用 Java 中的 JSch 列出 SFTP 服务器上目录的完整层次结构

我想使用 JSch 在远程位置显示目录的完整层次结构。该位置有多个文件夹,一个文件夹可能有也可能没有文件。

我写的代码(参考SFTP Read all files in directory):

sftpChannel.cd(remotePath);
Vector<String> files = sftpChannel.ls("*");
List<String> ret=new ArrayList<>();
for (int i = 0; i < files.size(); i++)
{
    Object obj = files.elementAt(i);
    if (obj instanceof com.jcraft.jsch.ChannelSftp.LsEntry)
    {
        LsEntry entry = (LsEntry) obj;
        if (true && !entry.getAttrs().isDir())
        {
            ret.add(entry.getFilename()+"file");
        }
        if (true && entry.getAttrs().isDir())
        {
            if (!entry.getFilename().equals(".") && !entry.getFilename().equals(".."))
            {
                ret.add(entry.getFilename()+"folder");
            }
        }
    }
}
System.out.println(ret);
Run Code Online (Sandbox Code Playgroud)

此代码仅显示顶级文件夹名称,不会读取这些文件夹中的文件。

我正在使用 jsch-0.1.54。

谢谢

java ssh sftp jsch

1
推荐指数
1
解决办法
2504
查看次数

JSch 连接问题:JSchException:算法协商失败 – 即使安装了 JCE

我正在尝试使用 JSch 连接到服务器,但它出现连接问题。我可以使用 PuTTY 连接到服务器,但不能使用 Java 代码。

我使用的是jdk1.8.0_171

这是代码片段

session = jsch.getSession(username, server, SSH_PORT);
session.setPassword(password);
session.setConfig("StrictHostKeyChecking", "no");
session.setTimeout(timeout);
session.connect(timeout);
Run Code Online (Sandbox Code Playgroud)

我收到以下异常:

session = jsch.getSession(username, server, SSH_PORT);
session.setPassword(password);
session.setConfig("StrictHostKeyChecking", "no");
session.setTimeout(timeout);
session.connect(timeout);
Run Code Online (Sandbox Code Playgroud)

以下是 JSch 日志:

com.jcraft.jsch.JSchException: Algorithm negotiation fail
at com.jcraft.jsch.Session.receive_kexinit(Session.java:590)
at com.jcraft.jsch.Session.connect(Session.java:320)
Run Code Online (Sandbox Code Playgroud)

这是 pom 文件:

INFO: Connecting to <servername> port 22
INFO: Connection established
INFO: Remote version string: SSH-2.0-OpenSSH_8.0
INFO: Local version string: SSH-2.0-JSCH-0.1.54
INFO: CheckCiphers: aes256-ctr,aes192-ctr,aes128-ctr,aes256-cbc,aes192-cbc,aes128-cbc,3des-ctr,arcfour,arcfour128,arcfour256
INFO: CheckKexes: diffie-hellman-group14-sha1,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521
INFO: CheckSignatures: ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521
INFO: SSH_MSG_KEXINIT sent
INFO: SSH_MSG_KEXINIT received
INFO: kex: …
Run Code Online (Sandbox Code Playgroud)

java connection ssh session jsch

1
推荐指数
1
解决办法
1万
查看次数

密码'aes256-cbc'是必需的,但它不可用.Mule SFTP连接器出错

使用带有Identity文件和密码的SFTP出站连接器上传文件时出现问题.下面是我的sftp出站组件,其中包含身份文件和密码短语代码段.

<sftp:outbound-endpoint exchange-pattern="request-response"
        connector-ref="SFTP" outputPattern="testsftp.txt" host="XXX.XX.XXX.XX"
        port="22" responseTimeout="10000" doc:name="SFTP" path="/FCD"
        password="XXXXX" user="alt"
        identityFile="C:/Users/kalyan/AnypointStudio/workspace02102015/ftp-server-pproject/src/main/resources/ppkKey/ALT.ppk"
        passphrase="XXXXX" />
Run Code Online (Sandbox Code Playgroud)

我已经在上面的代码片段中模拟了ip地址,密码以及下面的错误.

但我在运行时遇到错误.

com.jcraft.jsch.JSchException:密码'aes256-cbc'是必需的,但它不可用.

java.io.IOException:登录到alt@XXX.XX.XXX.XX时出错:需要密码'aes256-cbc',但它不可用.

有人可以帮我解决错误.

sftp jsch mule

0
推荐指数
1
解决办法
5425
查看次数

使用Java中的命令和文件进行SSH

我想在Java中运行SSH,但我还没想出如何运行包含命令和文件的SSH语句.例如,在标准终端中的命令:

ssh user@host 'upload' < myfile.txt
Run Code Online (Sandbox Code Playgroud)

希望通过Java库,而不是某种类型的Runtime.exec()

java ssh jsch sshj

0
推荐指数
1
解决办法
219
查看次数

在 Java 中使用 SFTP,如何将文件从一个文件夹传输到另一个文件夹?

我有一个包含两个文件夹的简单目录 -

在此输入图像描述

在该SFTP_1文件夹中,我有一个位图图像。而且该SFTP_2文件夹只是一个空文件夹。

Java 是否有本地 SFTP 库可供使用?当我搜索时,我只找到了一个名为JSch 的在线图书馆。

我如何开始运行这个示例?任何提示表示赞赏,谢谢!

java sftp jsch

0
推荐指数
1
解决办法
8954
查看次数

标签 统计

jsch ×11

java ×9

sftp ×6

ssh ×5

mule ×2

android ×1

authentication ×1

connection ×1

session ×1

sigint ×1

sshj ×1