jsch-agent-proxy: a parent of modules

a proxy to ssh-agent and Pageant in Java

License

License

GroupId

GroupId

com.jcraft
ArtifactId

ArtifactId

jsch.agentproxy
Last Version

Last Version

0.0.9
Release Date

Release Date

Type

Type

pom
Description

Description

jsch-agent-proxy: a parent of modules
a proxy to ssh-agent and Pageant in Java
Project URL

Project URL

http://www.jcraft.com/jsch-agent-proxy/
Project Organization

Project Organization

JCraft,Inc.
Source Code Management

Source Code Management

http://github.com/ymnk/jsch-agent-proxy/

Download jsch.agentproxy

How to add to project

<!-- https://jarcasting.com/artifacts/com.jcraft/jsch.agentproxy/ -->
<dependency>
    <groupId>com.jcraft</groupId>
    <artifactId>jsch.agentproxy</artifactId>
    <version>0.0.9</version>
    <type>pom</type>
</dependency>
// https://jarcasting.com/artifacts/com.jcraft/jsch.agentproxy/
implementation 'com.jcraft:jsch.agentproxy:0.0.9'
// https://jarcasting.com/artifacts/com.jcraft/jsch.agentproxy/
implementation ("com.jcraft:jsch.agentproxy:0.0.9")
'com.jcraft:jsch.agentproxy:pom:0.0.9'
<dependency org="com.jcraft" name="jsch.agentproxy" rev="0.0.9">
  <artifact name="jsch.agentproxy" type="pom" />
</dependency>
@Grapes(
@Grab(group='com.jcraft', module='jsch.agentproxy', version='0.0.9')
)
libraryDependencies += "com.jcraft" % "jsch.agentproxy" % "0.0.9"
[com.jcraft/jsch.agentproxy "0.0.9"]

Dependencies

There are no dependencies for this project. It is a standalone project that does not depend on any other jars.

Project Modules

  • jsch-agent-proxy-core
  • jsch-agent-proxy-connector-factory
  • jsch-agent-proxy-jsch
  • jsch-agent-proxy-sshj
  • jsch-agent-proxy-pageant
  • jsch-agent-proxy-sshagent
  • jsch-agent-proxy-usocket-jna
  • jsch-agent-proxy-usocket-nc
  • jsch-agent-proxy-svnkit-trilead-ssh2

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 from Source

$ 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
      $ cd compile
      $ mvn exec:java \
        -Dexec.mainClass="com.jcraft.jsch.agentproxy.examples.UsingPageant"
    
  • 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
    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="[email protected]"
    
  • 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="[email protected]"
    
  • 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="[email protected] date"
    

Dependencies

To work as a proxy to ssh-agent and Pageant, the current implementation depends on the following software,

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,

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,

If you want to be free from JNA and junixsocket, implement following interfaces without them,

Versions

Version
0.0.9
0.0.8
0.0.7
0.0.6
0.0.5