pax_global_header 0000666 0000000 0000000 00000000064 12272432060 0014510 g ustar 00root root 0000000 0000000 52 comment=a6f8649970bba355352cd416422802151fd7369a
jsch-agent-proxy-0.0.7/ 0000775 0000000 0000000 00000000000 12272432060 0014716 5 ustar 00root root 0000000 0000000 jsch-agent-proxy-0.0.7/.gitignore 0000664 0000000 0000000 00000000647 12272432060 0016715 0 ustar 00root root 0000000 0000000 !.gitignore
*.gz
*.zip
*.md5
*.sha1
bin/*
build
build.eclipse
build.properties
target
dist
lib
nbproject/private
share
latest_source_cache
docs/api
*.orig
*.rej
*~
.debug.properties
test/testapp/testapp
glob_test
spaces test
.DS_Store
*.so
*.bundle
*.[oa]
dev_null
.redcar
/.externalToolBuilders/
/.settings/
.metadata
.idea/workspace.xml
shared.iml
build_graph.png
/.idea/
lib_managed/
project/build/target/
project/boot/
jsch-agent-proxy-0.0.7/LICENSE.txt 0000664 0000000 0000000 00000002662 12272432060 0016547 0 ustar 00root root 0000000 0000000 Copyright (c) 2012 Atsuhiko Yamanaka, JCraft,Inc.
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in
the documentation and/or other materials provided with the distribution.
3. The names of the authors may not be used to endorse or promote products
derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JCRAFT,
INC. OR ANY CONTRIBUTORS TO THIS SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
jsch-agent-proxy-0.0.7/README 0000664 0000000 0000000 00000007734 12272432060 0015611 0 ustar 00root root 0000000 0000000 jsch-agent-proxy -- a proxy to ssh-agent and Pageant in Java.
Description
===========
jsch-agent-proxy is a proxy program to OpenSSH's ssh-agent and Pageant
included Putty. It will be easily integrated into JSch, and users
will be allowed to use those programs in authentications.
This software has been developed for JSch, but it will be easily
applicable to other ssh2 implementations in Java.
This software is licensed under BSD style license.
Build
=====
$ git clone git://github.com/ymnk/jsch-agent-proxy.git
$ cd jsch-agent-proxy
$ mvn package
$ mvn install
Examples
========
* UsingPageant.java
This sample demonstrates how to get accesses to Pageant.
$ cd examples
$ mvn compile
$ mvn exec:java \
-Dexec.mainClass="com.jcraft.jsch.agentproxy.examples.UsingPageant"
* UsingSSHAent.java
This sample demonstrates how to get accesses to ssh-agent.
$ cd examples
$ mvn compile
$ mvn exec:java \
-Dexec.mainClass="com.jcraft.jsch.agentproxy.examples.UsingSSHAgent"
* JSchWithAgentProxy.java
This sample demonstrates how to integrate jsch-agent-proxy into JSch.
$ cd examples
$ mvn compile
$ mvn exec:java \
-Dexec.mainClass="com.jcraft.jsch.agentproxy.examples.JSchWithAgentProxy" \
-Dexec.args="foo@bar.com"
* SshjWithAgentProxy.java
This sample demonstrates how to integrate jsch-agent-proxy into sshj.
$ cd examples
$ mvn compile
$ mvn exec:java \
-Dexec.mainClass="com.jcraft.jsch.agentproxy.examples.SshjWithAgentProxy" \
-Dexec.args="foo@bar.com"
* TrileadWithAgentProxy.java
This sample demonstrates how to integrate jsch-agent-proxy into Trilead SSH2 (SVNKit fork).
$ cd examples
$ mvn compile
$ mvn exec:java \
-Dexec.mainClass="com.jcraft.jsch.agentproxy.examples.TrileadWithAgentProxy" \
-Dexec.args="foo@bar.com date"
Dependencies
============
To work as a proxy to ssh-agent and Pageant,
the current implementation depends on the following software
* JNA: https://github.com/twall/jna licensed under the GNU LGPL
* junixsocket: http://code.google.com/p/junixsocket/ licensed under the Apache License 2.0
* OpenBSD's netcat: http://www.openbsd.org/cgi-bin/cvsweb/src/usr.bin/nc/
As for connections to ssh-agent, unix domain sockets must be
handled, and JNA or junixsocket have been used for that purpose.
Refer to to following classes,
* com.jcraft.jsch.agentproxy.usocket.JNAUSocketFactory[1]
* com.jcraft.jsch.agentproxy.usocket.JUnixDomainSocketFactory[2]
* com.jcraft.jsch.agentproxy.usocket.NCUSocketFactory[3]
NCUSocketFactory expects the external command nc(OpenBSD's netcat), but
you don't have to install other third party software.
As for connections to Pageant, win32 APIs must be
handled, and JNA has been used in the current implementation for that purpose.
Refer to the following class,
* com.jcraft.jsch.agentproxy.connector.PageantConnector[3]
If you want to be free from JNA and junixsocket,
implement following interfaces without them,
* com.jcraft.jsch.agentproxy.Connector[4]
* com.jcraft.jsch.agentproxy.USocketFactory[5]
[1] https://github.com/ymnk/jsch-agent-proxy/blob/master/jsch-agent-proxy-usocket-jna/src/main/java/com/jcraft/jsch/agentproxy/usocket/JNAUSocketFactory.java
[2] https://github.com/ymnk/jsch-agent-proxy/blob/master/jsch-agent-proxy-usocket-junixsocket/src/main/java/com/jcraft/jsch/agentproxy/usocket/JUnixDomainSocketFactory.java
[3] https://github.com/ymnk/jsch-agent-proxy/blob/master/jsch-agent-proxy-usocket-nc/src/main/java/com/jcraft/jsch/agentproxy/usocket/NCUSocketFactory.java
[4] https://github.com/ymnk/jsch-agent-proxy/blob/master/jsch-agent-proxy-pageant/src/main/java/com/jcraft/jsch/agentproxy/connector/PageantConnector.java
[5] https://github.com/ymnk/jsch-agent-proxy/blob/master/jsch-agent-proxy-sshagent/src/main/java/com/jcraft/jsch/agentproxy/Connector.java
[6] https://github.com/ymnk/jsch-agent-proxy/blob/master/jsch-agent-proxy-core/src/main/java/com/jcraft/jsch/agentproxy/USocketFactory.java
jsch-agent-proxy-0.0.7/README.md 0000664 0000000 0000000 00000011760 12272432060 0016202 0 ustar 00root root 0000000 0000000 # jsch-agent-proxy
a proxy to ssh-agent and Pageant in Java.
## Description
**jsch-agent-proxy** is a proxy program to [OpenSSH](http://www.openssh.com/)'s [ssh-agent](http://en.wikipedia.org/wiki/Ssh-agent) and [Pageant](http://en.wikipedia.org/wiki/PuTTY#Applications)
included [Putty](http://www.chiark.greenend.org.uk/~sgtatham/putty/). It will be easily integrated into [JSch](http://www.jcraft.com/jsch/), and users
will be allowed to use those programs in authentications.
This software has been developed for JSch, but it will be easily
applicable to other ssh2 implementations in Java.
This software is licensed under [BSD style license](https://github.com/ymnk/jsch-agent-proxy/blob/master/LICENSE.txt).
## Build from Source
$ git clone git://github.com/ymnk/jsch-agent-proxy.git
$ cd jsch-agent-proxy
$ mvn package
$ mvn install
## Examples
+ [UsingPageant.java](https://github.com/ymnk/jsch-agent-proxy/blob/master/examples/src/main/java/com/jcraft/jsch/agentproxy/examples/UsingPageant.java)
This sample demonstrates how to get accesses to Pageant.
$ cd examples
$ cd compile
$ mvn exec:java \
-Dexec.mainClass="com.jcraft.jsch.agentproxy.examples.UsingPageant"
+ [UsingSSHAent.java](https://github.com/ymnk/jsch-agent-proxy/blob/master/examples/src/main/java/com/jcraft/jsch/agentproxy/examples/UsingSSHAgent.java)
This sample demonstrates how to get accesses to ssh-agent.
$ cd examples
$ mvn compile
$ mvn exec:java \
-Dexec.mainClass="com.jcraft.jsch.agentproxy.examples.UsingSSHAgent"
+ [JSchWithAgentProxy.java](https://github.com/ymnk/jsch-agent-proxy/blob/master/examples/src/main/java/com/jcraft/jsch/agentproxy/examples/JSchWithAgentProxy.java)
This sample demonstrates how to integrate jsch-agent-proxy into JSch.
$ cd examples
$ mvn compile
$ mvn exec:java \
-Dexec.mainClass="com.jcraft.jsch.agentproxy.examples.JSchWithAgentProxy" \
-Dexec.args="foo@bar.com"
+ [SshjWithAgentProxy.java](https://github.com/ymnk/jsch-agent-proxy/blob/master/examples/src/main/java/com/jcraft/jsch/agentproxy/examples/SshjWithAgentProxy.java)
This sample demonstrates how to integrate jsch-agent-proxy into sshj.
$ cd examples
$ mvn compile
$ mvn exec:java \
-Dexec.mainClass="com.jcraft.jsch.agentproxy.examples.SshjWithAgentProxy" \
-Dexec.args="foo@bar.com"
+ [TrileadWithAgentProxy.java](https://github.com/ymnk/jsch-agent-proxy/blob/master/examples/src/main/java/com/jcraft/jsch/agentproxy/examples/TrileadWithAgentProxy.java)
This sample demonstrates how to integrate jsch-agent-proxy into Trilead SSH2 (SVNKit fork).
$ cd examples
$ mvn compile
$ mvn exec:java \
-Dexec.mainClass="com.jcraft.jsch.agentproxy.examples.TrileadWithAgentProxy" \
-Dexec.args="foo@bar.com date"
## Dependencies
To work as a proxy to ssh-agent and Pageant,
the current implementation depends on the following software,
+ JNA: https://github.com/twall/jna licensed under the [GNU LGPL](https://github.com/twall/jna/blob/master/LICENSE)
+ junixsocket: http://code.google.com/p/junixsocket/ licensed under the [Apache License 2.0](http://code.google.com/p/junixsocket/source/browse/trunk/junixsocket/LICENSE.txt)
+ OpenBSD's netcat: http://www.openbsd.org/cgi-bin/cvsweb/src/usr.bin/nc/
As for connections to ssh-agent, unix domain sockets must be
handled, and the current implementation has been using JNA or junixsocket for that purpose. Refer to following classes,
+ [com.jcraft.jsch.agentproxy.usocket.JNAUSocketFactory](https://github.com/ymnk/jsch-agent-proxy/blob/master/jsch-agent-proxy-usocket-jna/src/main/java/com/jcraft/jsch/agentproxy/usocket/JNAUSocketFactory.java)
+ [com.jcraft.jsch.agentproxy.usocket.JUnixDomainSocketFactory](https://github.com/ymnk/jsch-agent-proxy/blob/master/jsch-agent-proxy-usocket-junixsocket/src/main/java/com/jcraft/jsch/agentproxy/usocket/JUnixDomainSocketFactory.java)
+ [com.jcraft.jsch.agentproxy.usocket.NCUSocketFactory](https://github.com/ymnk/jsch-agent-proxy/blob/master/jsch-agent-proxy-usocket-nc/src/main/java/com/jcraft/jsch/agentproxy/usocket/NCUSocketFactory.java)
NCUSocketFactory expects the external command nc(OpenBSD's netcat), but
you don't have to install other third party software.
As for connections to Pageant, win32 APIs must be
handled, and JNA has been used in the current implementation for that purpose. Refer to the following class,
+ [com.jcraft.jsch.agentproxy.connector.PageantConnector](https://github.com/ymnk/jsch-agent-proxy/blob/master/jsch-agent-proxy-pageant/src/main/java/com/jcraft/jsch/agentproxy/connector/PageantConnector.java)
If you want to be free from JNA and junixsocket,
implement following interfaces without them,
+ [com.jcraft.jsch.agentproxy.Connector](https://github.com/ymnk/jsch-agent-proxy/blob/master/jsch-agent-proxy-core/src/main/java/com/jcraft/jsch/agentproxy/Connector.java)
+ [com.jcraft.jsch.agentproxy.USocketFactory](https://github.com/ymnk/jsch-agent-proxy/blob/master/jsch-agent-proxy-core/src/main/java/com/jcraft/jsch/agentproxy/USocketFactory.java)
jsch-agent-proxy-0.0.7/examples/ 0000775 0000000 0000000 00000000000 12272432060 0016534 5 ustar 00root root 0000000 0000000 jsch-agent-proxy-0.0.7/examples/README 0000664 0000000 0000000 00000002343 12272432060 0017416 0 ustar 00root root 0000000 0000000 README
* UsingPageant.java
This sample demonstrates how to get accesses to Pageant.
$ cd examples
$ mvn compile
$ mvn exec:java \
-Dexec.mainClass="com.jcraft.jsch.agentproxy.examples.UsingPageant"
* UsingSSHAent.java
This sample demonstrates how to get accesses to ssh-agent.
$ cd examples
$ mvn compile
$ mvn exec:java \
-Dexec.mainClass="com.jcraft.jsch.agentproxy.examples.UsingSSHAgent"
* JSchWithAgentProxy.java
This sample demonstrates how to integrate jsch-agent-proxy into JSch.
$ cd examples
$ mvn compile
$ mvn exec:java \
-Dexec.mainClass="com.jcraft.jsch.agentproxy.examples.JSchWithAgentProxy" \
-Dexec.args="foo@bar.com"
* SshjWithAgentProxy.java
This sample demonstrates how to integrate jsch-agent-proxy into sshj.
$ cd examples
$ mvn compile
$ mvn exec:java \
-Dexec.mainClass="com.jcraft.jsch.agentproxy.examples.SshjWithAgentProxy" \
-Dexec.args="foo@bar.com"
* TrileadWithAgentProxy.java
This sample demonstrates how to integrate jsch-agent-proxy into Trilead SSH2 (SVNKit fork).
$ cd examples
$ mvn compile
$ mvn exec:java \
-Dexec.mainClass="com.jcraft.jsch.agentproxy.examples.TrileadWithAgentProxy" \
-Dexec.args="foo@bar.com date"
jsch-agent-proxy-0.0.7/examples/pom.xml 0000664 0000000 0000000 00000005607 12272432060 0020061 0 ustar 00root root 0000000 0000000
4.0.0
com.jcraft
jsch.agentproxy.examples
0.0.7
examples to demonstrate how to use jsch-agent-proxy
com.jcraft
jsch.agentproxy.core
${project.version}
com.jcraft
jsch.agentproxy.jsch
${project.version}
com.jcraft
jsch.agentproxy.pageant
${project.version}
com.jcraft
jsch.agentproxy.sshagent
${project.version}
com.jcraft
jsch.agentproxy.usocket-jna
${project.version}
com.jcraft
jsch.agentproxy.usocket-nc
${project.version}
com.jcraft
jsch.agentproxy.connector-factory
${project.version}
com.jcraft
jsch.agentproxy.sshj
${project.version}
com.trilead
trilead-ssh2
1.0.0-build217
com.jcraft
jsch.agentproxy.svnkit-trilead-ssh2
${project.version}
org.apache.maven.plugins
maven-jar-plugin
2.3.2
UTF-8
UTF-8
jsch-agent-proxy-0.0.7/examples/src/ 0000775 0000000 0000000 00000000000 12272432060 0017323 5 ustar 00root root 0000000 0000000 jsch-agent-proxy-0.0.7/examples/src/main/ 0000775 0000000 0000000 00000000000 12272432060 0020247 5 ustar 00root root 0000000 0000000 jsch-agent-proxy-0.0.7/examples/src/main/java/ 0000775 0000000 0000000 00000000000 12272432060 0021170 5 ustar 00root root 0000000 0000000 jsch-agent-proxy-0.0.7/examples/src/main/java/com/ 0000775 0000000 0000000 00000000000 12272432060 0021746 5 ustar 00root root 0000000 0000000 jsch-agent-proxy-0.0.7/examples/src/main/java/com/jcraft/ 0000775 0000000 0000000 00000000000 12272432060 0023217 5 ustar 00root root 0000000 0000000 jsch-agent-proxy-0.0.7/examples/src/main/java/com/jcraft/jsch/ 0000775 0000000 0000000 00000000000 12272432060 0024146 5 ustar 00root root 0000000 0000000 jsch-agent-proxy-0.0.7/examples/src/main/java/com/jcraft/jsch/agentproxy/ 0000775 0000000 0000000 00000000000 12272432060 0026346 5 ustar 00root root 0000000 0000000 jsch-agent-proxy-0.0.7/examples/src/main/java/com/jcraft/jsch/agentproxy/examples/ 0000775 0000000 0000000 00000000000 12272432060 0030164 5 ustar 00root root 0000000 0000000 JSchWithAgentProxy.java 0000664 0000000 0000000 00000005242 12272432060 0034457 0 ustar 00root root 0000000 0000000 jsch-agent-proxy-0.0.7/examples/src/main/java/com/jcraft/jsch/agentproxy/examples /* -*-mode:java; c-basic-offset:2; indent-tabs-mode:nil -*- */
package com.jcraft.jsch.agentproxy.examples;
import com.jcraft.jsch.*;
import com.jcraft.jsch.agentproxy.Connector;
import com.jcraft.jsch.agentproxy.AgentProxyException;
import com.jcraft.jsch.agentproxy.RemoteIdentityRepository;
import com.jcraft.jsch.agentproxy.ConnectorFactory;
import java.io.*;
import javax.swing.*;
public class JSchWithAgentProxy {
public static void main(String[] arg){
try{
JSch jsch=new JSch();
jsch.setConfig("PreferredAuthentications", "publickey");
Connector con = null;
try {
ConnectorFactory cf = ConnectorFactory.getDefault();
con = cf.createConnector();
}
catch(AgentProxyException e){
System.out.println(e);
}
if(con != null ){
IdentityRepository irepo = new RemoteIdentityRepository(con);
jsch.setIdentityRepository(irepo);
}
String host=null;
if(arg.length>0){
host=arg[0];
}
else{
host=JOptionPane.showInputDialog("Enter username@hostname",
System.getProperty("user.name")+
"@localhost");
}
String user=host.substring(0, host.indexOf('@'));
host=host.substring(host.indexOf('@')+1);
Session session=jsch.getSession(user, host, 22);
// username and passphrase will be given via UserInfo interface.
UserInfo ui=new MyUserInfo();
session.setUserInfo(ui);
session.connect();
Channel channel=session.openChannel("shell");
((ChannelShell)channel).setAgentForwarding(true);
channel.setInputStream(System.in);
channel.setOutputStream(System.out);
channel.connect();
}
catch(Exception e){
System.out.println(e);
}
}
public static class MyUserInfo implements UserInfo, UIKeyboardInteractive{
public String getPassword(){ return passwd; }
public boolean promptYesNo(String str){ return true; }
String passwd=null;
public String getPassphrase(){ return null; }
public boolean promptPassphrase(String message){ return true; }
public boolean promptPassword(String message){ return true; }
public void showMessage(String message){
}
public String[] promptKeyboardInteractive(String destination,
String name,
String instruction,
String[] prompt,
boolean[] echo){
String[] response=new String[prompt.length];
response[0] = passwd;
return response;
}
}
}
SshjWithAgentProxy.java 0000664 0000000 0000000 00000005122 12272432060 0034534 0 ustar 00root root 0000000 0000000 jsch-agent-proxy-0.0.7/examples/src/main/java/com/jcraft/jsch/agentproxy/examples /* -*-mode:java; c-basic-offset:2; indent-tabs-mode:nil -*- */
package com.jcraft.jsch.agentproxy.examples;
import java.io.*;
import java.util.*;
import javax.swing.*;
import com.jcraft.jsch.agentproxy.*;
import com.jcraft.jsch.agentproxy.usocket.*;
import com.jcraft.jsch.agentproxy.connector.*;
import com.jcraft.jsch.agentproxy.sshj.*;
import net.schmizz.sshj.*;
import net.schmizz.sshj.connection.channel.direct.*;
import net.schmizz.sshj.userauth.method.AuthMethod;
public class SshjWithAgentProxy {
public static void main(String[] args) throws Exception {
String target = getTarget(args);
String username = target.substring(0, target.indexOf('@'));
String hostname = target.substring(target.indexOf('@') + 1);
AgentProxy agentProxy = getAgentProxy();
if (agentProxy == null) {
fail("Could not find or connect to an agent");
}
SSHClient client = new SSHClient();
client.loadKnownHosts();
client.connect(hostname);
client.auth(username, getAuthMethods(agentProxy));
Session session = client.startSession();
Session.Command command = session.exec("ls -l");
BufferedReader reader = new BufferedReader(new InputStreamReader(command.getInputStream()));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
session.join();
client.close();
}
private static String getTarget(String[] args) {
if (args.length > 0) {
return args[0];
} else {
return JOptionPane.showInputDialog("Enter username@hostname", System.getProperty("user.name") + "@localhost");
}
}
private static void fail(String message) {
System.err.println(message);
System.exit(1);
}
private static AgentProxy getAgentProxy() {
Connector connector = getAgentConnector();
if (connector != null)
return new AgentProxy(connector);
return null;
}
private static Connector getAgentConnector() {
try {
return ConnectorFactory.getDefault().createConnector();
} catch (AgentProxyException e) {
System.err.println(e);
}
return null;
}
private static List getAuthMethods(AgentProxy agent) throws Exception {
Identity[] identities = agent.getIdentities();
List result = new ArrayList();
for (Identity identity : identities) {
result.add(new AuthAgent(agent, identity));
}
return result;
}
} TrileadWithAgentProxy.java 0000664 0000000 0000000 00000004371 12272432060 0035216 0 ustar 00root root 0000000 0000000 jsch-agent-proxy-0.0.7/examples/src/main/java/com/jcraft/jsch/agentproxy/examples package com.jcraft.jsch.agentproxy.examples;
import com.jcraft.jsch.agentproxy.AgentProxyException;
import com.jcraft.jsch.agentproxy.Connector;
import com.jcraft.jsch.agentproxy.ConnectorFactory;
import com.jcraft.jsch.agentproxy.TrileadAgentProxy;
import com.trilead.ssh2.Connection;
import com.trilead.ssh2.Session;
import com.trilead.ssh2.StreamGobbler;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class TrileadWithAgentProxy {
public static void main(String[] arg) throws IOException {
if(arg.length != 2) {
System.err.println("Usage: test-ssh user@host command");
System.exit(1);
}
int splitPoint = arg[0].indexOf("@");
if(splitPoint <= 0) {
System.err.println("Usage: test-ssh user@host command");
System.exit(1);
}
String user = arg[0].substring(0, splitPoint);
String host = arg[0].substring(splitPoint + 1);
com.trilead.ssh2.auth.AgentProxy agentProxy = getAgentProxy();
if(agentProxy == null) {
System.err.println("ERROR: Unable to connect to SSH agent");
System.exit(1);
}
Connection conn = new Connection(host);
conn.connect();
boolean isAuthenticated = conn.authenticateWithAgent(user, agentProxy);
if(isAuthenticated == false) {
System.err.println("ERROR: Agent authentication not accepted");
System.exit(1);
}
Session sess = conn.openSession();
sess.execCommand(arg[1]);
BufferedReader br = new BufferedReader(new InputStreamReader(new StreamGobbler(sess.getStdout())));
while(true) {
String line = br.readLine();
if(line == null) {
break;
}
System.out.println(line);
}
Integer exitStatus = sess.getExitStatus();
sess.close();
conn.close();
System.exit(exitStatus == null ? 1 : exitStatus);
}
static TrileadAgentProxy getAgentProxy() {
try {
Connector con = ConnectorFactory.getDefault().createConnector();
return new TrileadAgentProxy(con);
} catch(AgentProxyException e) {
return null;
}
}
}
jsch-agent-proxy-0.0.7/examples/src/main/java/com/jcraft/jsch/agentproxy/examples/UsingPageant.java 0000664 0000000 0000000 00000002473 12272432060 0033422 0 ustar 00root root 0000000 0000000 /* -*-mode:java; c-basic-offset:2; indent-tabs-mode:nil -*- */
package com.jcraft.jsch.agentproxy.examples;
import com.jcraft.jsch.agentproxy.AgentProxy;
import com.jcraft.jsch.agentproxy.AgentProxyException;
import com.jcraft.jsch.agentproxy.Identity;
import com.jcraft.jsch.agentproxy.connector.PageantConnector;
public class UsingPageant {
public static void main(String[] arg){
try{
AgentProxy ap = new AgentProxy(new PageantConnector());
Identity[] identities = ap.getIdentities();
System.out.println("count: "+identities.length);
for(int i=0; i ");
for(int j=0; j