jsch

How do I authenticate programmatically using jsch?

≡放荡痞女 提交于 2020-04-12 18:04:38
问题 I want to upload a file to a remote server via sftp. I am using the Jsch library. The code below works, but I always have to enter the username and password via the output console, even though I've set those values in the Session object. Every example I've seen on Stack Overflow and on the Jsch example page requires user input. Is there a way to pass the password programmatically? (I am required to authenticate via username/password. I cannot use SSH keys...) JSch jsch = new JSch();

How to pass in the password in scp using Java ssh JSch and jcabi-ssh

佐手、 提交于 2020-03-21 05:02:52
问题 I need to execute following command: scp -r ~/dataIn yatsuk@192.168.1.1:~/dataOut In ubuntu (16.04) terminal this command work correctly. yatsuk@192.168.1.1 is localhost. So I try this code using jcabi: Shell shell = new SSHByPassword("192.168.1.1", 22, "yatsuk", "passw"); String stdout = new Shell.Plain(shell).exec("scp -r ~/dataIn yatsuk@192.168.1.1:~/dataOut"); System.out.println(stdout); And this code by JSch: JSch jsch = new JSch(); JSch.setConfig("StrictHostKeyChecking", "no"); Session

教你用纯 Java 实现一个网页版的 Xshell(附源码)

喜欢而已 提交于 2020-03-17 01:14:52
本人免费整理了Java高级资料,涵盖了Java、Redis、MongoDB、MySQL、Zookeeper、Spring Cloud、Dubbo高并发分布式等教程,一共30G,需要自己领取。 传送门: https://mp.weixin.qq.com/s/osB-BOl6W-ZLTSttTkqMPQ 前言 最近由于项目需求,项目中需要实现一个WebSSH连接终端的功能,由于自己第一次做这类型功能,所以首先上了GitHub找了找有没有现成的轮子可以拿来直接用,当时看到了很多这方面的项目,例如:GateOne、webssh、shellinabox等,这些项目都可以很好地实现webssh的功能。 但是最终并没有采用,原因是在于这些底层大都是python写的,需要依赖很多文件,自己用的时候可以使用这种方案,快捷省事,但是做到项目中供用户使用时,总不能要求用户做到服务器中必须包含这些底层依赖,这显然不太合理,所以我决定自己动手写一个WebSSH的功能,并且作为一个独立的项目开源出来。 github项目开源地址:https://github.com/NoCortY/WebSSH 技术选型 由于webssh需要实时数据交互,所以会选用长连接的WebSocket,为了开发的方便,框架选用SpringBoot,另外还自己了解了Java用户连接ssh的jsch和实现前端shell页面的xterm.js

教你用纯 Java 实现一个网页版的 Xshell(附源码)

杀马特。学长 韩版系。学妹 提交于 2020-03-17 00:29:34
某厂面试归来,发现自己落伍了!>>> 【推荐】2020年最新Java电子书集合.pdf(吐血整理) >>> 前言 最近由于项目需求,项目中需要实现一个WebSSH连接终端的功能,由于自己第一次做这类型功能,所以首先上了GitHub找了找有没有现成的轮子可以拿来直接用,当时看到了很多这方面的项目,例如:GateOne、webssh、shellinabox等,这些项目都可以很好地实现webssh的功能。 但是最终并没有采用,原因是在于这些底层大都是python写的,需要依赖很多文件,自己用的时候可以使用这种方案,快捷省事,但是做到项目中供用户使用时,总不能要求用户做到服务器中必须包含这些底层依赖,这显然不太合理,所以我决定自己动手写一个WebSSH的功能,并且作为一个独立的项目开源出来。 github项目开源地址:https://github.com/NoCortY/WebSSH 技术选型 由于webssh需要实时数据交互,所以会选用长连接的WebSocket,为了开发的方便,框架选用SpringBoot,另外还自己了解了Java用户连接ssh的jsch和实现前端shell页面的xterm.js. 所以, 最终的技术选型就是 SpringBoot+Websocket+jsch+xterm.js 。 导入依赖 < parent > < groupId > org

使用纯Java实现一个WebSSH项目

試著忘記壹切 提交于 2020-03-14 15:14:02
前言 最近由于项目需求,项目中需要实现一个WebSSH连接终端的功能,由于自己第一次做这类型功能,所以首先上了GitHub找了找有没有现成的轮子可以拿来直接用,当时看到了很多这方面的项目,例如:GateOne、webssh、shellinabox等,这些项目都可以很好地实现webssh的功能,但是最终并没有采用,原因是在于这些底层大都是python写的,需要依赖很多文件,自己用的时候可以使用这种方案,快捷省事,但是做到项目中供用户使用时,总不能要求用户做到服务器中必须包含这些底层依赖,这显然不太合理,所以我决定自己动手写一个WebSSH的功能,并且作为一个独立的项目开源出来。 技术选型 由于webssh需要实时数据交互,所以会选用长连接的WebSocket,为了开发的方便,框架选用SpringBoot,另外还自己了解了Java用户连接ssh的jsch和实现前端shell页面的xterm.js. 所以,最终的技术选型就是 SpringBoot+Websocket+jsch+xterm.js。 导入依赖 一个简单的xterm案例 由于xterm是一个冷门技术,所以很多同学并没有这方面的知识支撑,我也是为了实现这个功能所以临时学的,所以在这给大家介绍一下。 xterm.js是一个基于WebSocket的容器,它可以帮助我们在前端实现命令行的样式

Not getting any output when using JSch to execute commands

走远了吗. 提交于 2020-02-23 04:03:28
问题 I am trying to use JSch to execute sudo su - user command in a remote system first and then consecutively execute a piped shell command. I would like to read the command output into a String . How can I do this? I was trying something like this but could not get any output. Please advice. session = getSession(); channel = (ChannelShell)session.openChannel( "shell" ); String sudoCommand = "sudo su - " + sudoAs; String nextCommand = "ps -eaf | grep user | wc -l"; pipeIn = new PipedInputStream()

Mocking Sftp class skip method call

偶尔善良 提交于 2020-02-23 03:54:26
问题 public class SFTP { public Map<Report, TransferStatus> transfer(List<Report> reports) { //testing logic here } private ChannelSftp channelSftp; private Session session; private TransferStatus send(File file) { connect(); send(stream, file.getName()); } private void send(FileInputStream stream, String name) throws SftpException, IOException { channelSftp.put(stream, fileNameWithId, new SftpLogMonitor(), ChannelSftp.OVERWRITE); stream.close(); } private void connect() throws JSchException { if

Mocking Sftp class skip method call

你说的曾经没有我的故事 提交于 2020-02-23 03:54:25
问题 public class SFTP { public Map<Report, TransferStatus> transfer(List<Report> reports) { //testing logic here } private ChannelSftp channelSftp; private Session session; private TransferStatus send(File file) { connect(); send(stream, file.getName()); } private void send(FileInputStream stream, String name) throws SftpException, IOException { channelSftp.put(stream, fileNameWithId, new SftpLogMonitor(), ChannelSftp.OVERWRITE); stream.close(); } private void connect() throws JSchException { if

Run remote commands through SSH tunnel in Java

不羁岁月 提交于 2020-02-21 06:12:27
问题 I need to run some commands from a remote computer using an SSH connection, but the problem is the following: The client computer (running Windows) is connected to a network where I can see a server remote (second *nix computer, in the same network). I can do SSH connections with it, however the computer that contains the files (running *nix) isn't in this network, I only can connect with this trough a dynamic SSH tunnel open in the second computer, where I normally use PuTTY to configure

Run remote commands through SSH tunnel in Java

核能气质少年 提交于 2020-02-21 06:12:05
问题 I need to run some commands from a remote computer using an SSH connection, but the problem is the following: The client computer (running Windows) is connected to a network where I can see a server remote (second *nix computer, in the same network). I can do SSH connections with it, however the computer that contains the files (running *nix) isn't in this network, I only can connect with this trough a dynamic SSH tunnel open in the second computer, where I normally use PuTTY to configure