jsch相关内容
Java-Jsch sudo命令. 我正在使用Jsch,我的任务是登录到服务器并按如下所示运行命令 sudo su - bumboo 使用以下代码,我可以成功连接,但是当我尝试运行命令时,它给我错误sudo: sorry, you must have a tty to run sudo 以下是我的代码 public static Channel sudoBamboo(S
..
我尝试通过SSH连接到服务器并获取命令的输出.如果放入System.out,一切正常.否则,如果我想将其放入JTextPane,则将其放入,但是MC不可读. 这是我的代码: JSch jsch = new JSch(); String command = ""; String commandR = ""; host = null; if (arg.length > 1) {
..
已经在这里提出了这个问题:"会话类型中的方法setConfig(Properties)不适用于参数(字符串,字符串)" 一年多以前,但没有任何答案,而我刚才也遇到了同样的问题. 很遗憾,我在Google上找不到任何其他内容. import com.jcraft.jsch.*; import java.io.*; import java.util.Properties JSch js
..
我正在使用Jsch在服务器中创建文件并执行一些命令.对于文件创建,它可以正常工作,但是对于命令执行,则不能正常工作.它保持状态-1(仍在工作)并永远保持该状态.这种情况发生在shell执行中或当我尝试成为root时.请遵循以下方法: public void upload(String localPath) throws IOException { Session session =
..
我想在连接到Java中的远程主机后阅读SSH密钥-信号对横幅(用于生成SSH密码).我正在使用JSch客户端库进行SSH连接. 在主机上进行某些操作后,SSH密码会更改,因此每次我需要从key-sig对生成新的SSH密码进行登录时. 我可以通过编程方式阅读横幅吗? 下面是尝试通过客户端控制台(PuTTY)进行SSH时出现的key-sig对标题的摘录,其中包含密码提示. Nb
..
我正在尝试使用JSch将文件从Windows机器发送到Linux机器.因此,我将主机公共密钥从Linux计算机复制到了Windows计算机,并将密钥添加到了我的HostKeyRepository.但是由于某种原因,我得到了“无效的密钥类型"异常.这是我的代码: HostKeyRepository repo = jsch.getHostKeyRepository(); File file =
..
使用 JSch ,我叫在我的Windows计算机上本地运行此代码时,隧道的打开正在起作用. 但是,当在我们的CI上使用相同的私钥运行相同的代码时,会发生以下错误: 2016-12-07 01:01:32 ERROR SSHConnector:25 - invalid privatekey: [B@4bb4de6a com.jcraft.jsch.JSchException: inval
..
我有启用了SSH的Linux手机.我需要通过质询响应身份验证连接到它.那么如何手动查看此过程,例如使用PuTTY: 使用IP和端口连接到电话. 控制台显示“登录为:"->输入用户名. 控制台显示: 登录为:craft 挑战:547-04302 产品编号:7000315107 响应: 我需要复制质询,使用质询从其他服务器获取响应,然后在控制台中输入响应.
..
在Unix中,如何使用JSCH设置目录权限?我正在寻找做drwxrwxrwx. Filezilla说,该整数是775,但JSCH没有正确设置权限.在JSCH设置权限后,Filezilla表示它为407. 解决方案 Unix中的文件许可权代码(例如,777)是八进制的,而不是十进制的.如:当您执行类似chmod -R 777的操作时,数字将被解释为八进制输入而不是十进制输入. 此系统来
..
我正在尝试将JSch与私钥配置一起使用.我已经使用PuTTYgen生成了公钥和私钥,但是不确定如何处理这两个文件. 哪个密钥(公钥/私钥)需要转移到服务器? 解决方案 首先,您需要在服务器上注册PuTTYgen生成的 public 密钥.请参见为公钥认证做好准备或(我)设置SSH公钥身份验证. 最后,请参见我们可以使用JSch进行基于SSH密钥的通信吗?有关使用 priva
..
我正在尝试通过Java程序执行多个bash命令,该Java程序使用JSch连接到SSH.但是sudo登录后,我无法执行任何bash命令.从我阅读的内容来看,在sudo登录之后,我们进入了一个子shell.我希望使用一个渠道.我不知道下一步该怎么做. ChannelExec chnlex=(ChannelExec) session.openChannel("exec"); InputStre
..
我正在编写一个应用程序,该应用程序应该使用JSch通过SSH访问我的私有服务器.由于我已经设置了公共密钥身份验证,因此我希望该应用程序以相同的方式进行身份验证.我将是唯一使用此应用程序的人,因此我想将密钥直接存储在应用程序内(例如,硬编码)或存储在手机主目录中的某个位置.哪一种是最好的存储方式,也许可以将其存储为项目中的资源文件?由于我刚接触Android开发,因此我不确定哪种方法最好. 我
..
我的目的是连接到位于防火墙后面的服务器(主机).我可以通过连接到网络中的另一台服务器(隧道)然后通过SSH到该服务器来访问此服务器.但是,我无法通过JSch实现相同的方案. 我无法为此目的编写以下代码.请让我知道我是否在这里做任何愚蠢的事情. public class JschExecutor { public static void main(String[] args){
..
使用JSch,有没有办法在不执行ls并循环浏览文件以查找名称匹配的情况下,确定是否存在远程文件? 谢谢 解决方案 (这是如果您使用的是库的SFTP部分,这是我没有考虑的假设.) 我认为它的ls(String path)将接受文件名;我目前无法检查. 如果没有,则无需手动进行迭代;您可以使用选择器变体: ls(String path, ChannelSftp.LsEn
..
我正在尝试建立一个类,以便可以通过SSH进入远程服务器(我具有IP,用户名和密码),然后发送诸如"echo"test"“之类的命令,然后接收回输出(例如“测试").我正在使用JSch来执行此操作,但我不知道如何执行此操作. import com.jcraft.jsch.*; public class ConnectSSH { public int execute (String comm
..
我有SFTP密钥对文件的内容作为字符串.我需要使用JSch添加内容,但是addIdentity仅接受文件路径.无论如何,我可以做到这一点吗? 我看到KeyPair类具有方法- KeyPair load(JSch jsch, byte[] bytes, byte[] bytes1) 我不确定这是怎么做的. 解决方案 有一个public class JSch { ... pub
..
我实现了一个Java程序,该程序将使用JSCH在远程服务器中连接并执行命令.问题是,每当我尝试连接到服务器时,都会出现以下异常: com.jcraft.jsch.JSchException: Session.connect: java.security.InvalidAlgorithmParameterException: Prime size must be multiple of 64,
..
我正在考虑一个JSch库用法的示例,可以在这里找到它: http://www.jcraft.com/jsch/examples/ScpFrom.java.html 我无法从此示例理解几种代码模式.他们在这里: 是否有任何理由更喜欢SCP而不是可以使用同一库运行的SFTP? 为什么我们在远程主机上运行scp -f 而不是仅仅运行scp source_fi
..
我使用的是我在其中传递以下命令的文件: hostname pwd pbrun su - fclaim whoami cd .. pwd 广告下面的Java代码: for (String command1 : commands) { Channel channel=session.openChannel("exec"); ((ChannelExec)ch
..
在我的代码中,我试图通过SSH在远程服务器上运行一些命令. 这些命令必须相互构建,但后面要有逻辑.这意味着: 当命令a的输出包含"retcode 0"时,则执行命令b.其他命令c 我发现无法将这种逻辑实现为几个"exec"命令.似乎每个“执行人员"都有自己的流程,因此我无法继续以前的工作.有了一个"exec",我就可以传递所有命令都将被执行的命令列表,因此那里没有逻辑.因此,我决定对Jsch
..