Java code to connect to unix box(putty)

i'm having a great problem regarding accessing the putty box from java code.
I need to read some log files from unix through java code.In my client program when i'm giving hostname and port=22...ssh terminal is getting detected,but i'm confused how to open that unix box by giving the username and password.and how am i goin to embed unix command in it.The entire job i've to do through java code.
please help!!..Thanks
Message was edited by:
liz310
Message was edited by:
liz310

thanks a lot guys for ur time...but i tried in every way..i'm getting hell lot of errors..please help..its really urgent
/*this is my code:*/
import com.jcraft.jsch.*;
import com.jcraft.jsch.Channel;
import com.jcraft.jsch.JSch;
import com.jcraft.jsch.JSchException;
import com.jcraft.jsch.Session;
import com.jcraft.jsch.UserInfo;
import java.io.*;
public class shell_test {
public static void main(String args[])
String user="user15";
String host="punlin040";
String cmd="ls -l";
JSch jsch = new JSch();
try{
Session session=jsch.getSession(user,host,22);
session.setPassword("user15");
//UserInfo usrInfo=new MyUserInfo();
//session.setUserInfo(usrInfo);
session.connect();
Channel channel=session.openChannel("exec");
((ChannelExec) channel).setCommand(cmd);
channel.setXForwarding(true);
channel.connect();
//code
channel.setInputStream(System.in);
// channel.setOutputStream(System.out);
//((ChannelExec) channel).setErrStream(System.err);
InputStream in = channel.getInputStream();
channel.connect();
byte[] tmp = new byte[1024];
while (true)
while (in.available() > 0)
int i = in.read(tmp, 0, 1024);
if (i < 0)
break;
System.out.print(new String(tmp, 0, i));
if (channel.isClosed())
in.close();
// System.out.println("JSCH: exit-status: " +
//channel.getExitStatus());
break;
try
Thread.sleep(1000);
catch (Exception ee)
channel.disconnect();
session.disconnect();
//code
//ch.setInputStream(System.in);
//ch.setOutputStream(System.out);
}catch(Exception e)
{e.printStackTrace(); }
/*public static class MyUserInfo implements UserInfo {
public String getPassword()
{ return "password"; }
public String getPassphrase()
{ return ""; }
public boolean promptPassword(String arg0)
{ return true; }
public boolean promptPassphrase(String arg0)
{ return true; }
public boolean promptYesNo(String arg0)
{ return true; }
public void showMessage(String arg0)
but i'm getting following errors:
com.jcraft.jsch.JSchException: java.lang.ClassNotFoundException: com.jcraft.jsch
.jce.Random
at com.jcraft.jsch.Session.connect(Session.java:160)
at com.jcraft.jsch.Session.connect(Session.java:145)
at shell_test.main(shell_test.java:25)
Caused by: java.lang.ClassNotFoundException: com.jcraft.jsch.jce.Random
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at com.jcraft.jsch.Session.connect(Session.java:156)
... 2 more

Similar Messages

  • Urget Help --- Please give me the core java code that connects to UNIX ser

    Can anyone provide the core java code that connects UNIX server after verifying credentials and allow to implements UNIX commands through java program?

    no, you don't want to do that.
    You want to connect yourself, which Java is quite capable of doing, rather than go through some 3rd party client program that's not only specific to a particular operating system but not guaranteed to be installed at any particular machine or if it is to be installed in such a way that you can start it from your Java program.
    And then there's the little matter of figuring out the external API to use that program in the way you intent to (if it has one).

  • How to specify a file path in java code to run on Unix machine?

    Hi
    I have a problem when running my project Swing on Unix machine.
    In my code, the user will press a button and then the program will look for the file "ReadMe" in the folder "Documentation" , and reads the content of this file. My code is "Documentation\\ReadMe" and it works well on PC. (The folder "Documentation" is in the same directory with my Java code).
    But when I try on Unix, the program can not read the file. It can only read the file "ReadMe" if I take this file and put it in the same directory with my Java code ( this means not through another folder). So how can we make it read the file in a folder ? It seems that "Documentation\\ReadMe" does not work in Unix, or the symbol "\\" does not work.
    I would be thankful if anybody can help me with this.
    Thank you very much

    You really shouldn't use any path method, as neither are very consistant or platform independent. The JVM provides a way to grab resources from the classpath. These resources can be any data at all, in fact, it's how java itself locates classes. Here's an example how you would do this in a non-static method.
    public URL getReadMe() {
      // In this context the forward slash is universal
      String docDirectory = "Documentation/"
      // We have to use the classloader to grab the resource
      ClassLoader cl = this.getClass().getClassLoader();
      // Next we get the resource 
      URL readMeURL = cl.getResource(docDirectory + "ReadMe");
      return readMeURL;
    }The URL can be used in whatever way you need to get the information out of the resource. If it was an image you might use the "Toolkit" to make an image object out of it. The great thing about this method is it will work even if your loading the program out of a Jar file. The resource paths start at the top of the classpath, just like classes.

  • Java Code to Connect to OIM on HTTPS

    Hi All,
    I have recently disabled the HTTP Port for OIM and enabled only HTTPS Port. I have java code that I used to connect to OIM on HTTP Port but that doesn't working anymore.
    I have update the OIM_URL to use t3s but not sure what else in system property I need to add (I think its has to be keystore path). So, i added System Property
    weblogic.security.SSL.trustedCAKeyStore = "Path of Kesytore"
    but I am getting below error:
    javax.security.auth.login.LoginException: java.lang.NoSuchMethodError: com/certicom/net/ssl/SSLContext.getCertificateSupport()Lcom/certicom/tls/interfaceimpl/CertificateSupport;
    at com.bea.sslplus.CerticomSSLContext.setTrustManager(Unknown Source)
    at weblogic.security.utils.SSLContextWrapper.<init>(SSLContextWrapper.java:62)
    at weblogic.security.utils.SSLContextWrapper.getInstance(SSLContextWrapper.java:55)
    at weblogic.security.utils.SSLSetup.getSSLContext(SSLSetup.java:323)
    Any pointers on what I have to add?
    TIA

    The issue was due to the order of jar files in build path:
    This is the correct order :
    1. Crypto.jar
    2. wlfullclient.jar
    3. wlcipher.jar
    4. webserviceclient+ssl.jar
    I use the JDK Keystore configured with IDE cacerts, import root ca cert and it worked.

  • Java code to connect to remote windows machine from local machine

    Hi,
    I have developed a code to connecting remote windows M/C from local M/C by using SSH2 (ganymed-ssh2-build209.jar) API. when I run the code its giving below error. Can any one please help me how to resolve it. And also please let me know, is there any other way to connect remote windows system using java code.
    Exception.
    java.io.IOException: There was a problem while talking to <host name>:22
      at ch.ethz.ssh2.Connection.connect(Connection.java:642)
      at ch.ethz.ssh2.Connection.connect(Connection.java:460)
      at Connect.RemoteServer.ConnectWindowsServer.runCommand(ConnectWindowsServer.java:55)
      at Connect.RemoteServer.ConnectWindowsServer.main(ConnectWindowsServer.java:27)
    Caused by: java.net.ConnectException: Connection refused: connect
      at java.net.PlainSocketImpl.socketConnect(Native Method)
      at java.net.PlainSocketImpl.doConnect(Unknown Source)
      at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
      at java.net.PlainSocketImpl.connect(Unknown Source)
      at java.net.SocksSocketImpl.connect(Unknown Source)
      at java.net.Socket.connect(Unknown Source)
      at ch.ethz.ssh2.transport.TransportManager.initialize(TransportManager.java:299)
      at ch.ethz.ssh2.Connection.connect(Connection.java:591)
      ... 3 more
    JAVA Code
    import ch.ethz.ssh2.Connection;
    import ch.ethz.ssh2.Session;
    public void setAuthenticationInfo(String hostname, String username,String password) {
           this.host = hostname;
           this.userid = username;
           this.password = password;      
           this.recentCommand = "";     
           System.out.println("setting authentication info completed for host=" + host );
      public void runCommand() throws Exception {
    try{
            // Setup ssh session with endpoint
           System.out.println("starting connection with " + host);
           Connection connection = new Connection(host);
           System.out.println("connection object created..");
           connection.connect();
           System.out.println("Connect to connection");
           connection.authenticateWithPassword(userid,password);
           System.out.println(connection.isAuthenticationComplete());
           Session session = connection.openSession();
          System.out.println("connected");
      }catch (Exception e) {
      e.printStackTrace();
    Regards,
    Praveen

    Hi baftos,
    I tried to telnet remote windows machine from my local machine on port 23, its not connected and given error message like "Connect failed".
    As your response, if we can telnet to remote windows machine from local machine then we can connect from Java. Is it correct ?.
    Can you please help me to resolve this issue. And also please confirm the port (23) is correct, which I was used to connect remote machine from telnet.
    Regards,
    Praveen

  • Getting java code to compile on unix/linux

    I have been using borland JBuilder to run and compile my java code. Recently i tried moving the code to a linux machine in which i have downloaded the JDK to. My classes only use standard java classes with the exception of a jbcl.jar file which has a class that one of my classes relies on. It turns out when i try to run my class i get error messages because it cant find the jar file. Where should I put this jar file? by the way in my class i use the statement: where jbcl.layout is the class i need.
    import jbcl.layout.*;

    another question. In my class I use the statement
    import jbcl.layout.*;
    so all i need to do is add the jbcl.jar to my class
    path? is my import statement correctIf it compiles in your IDE, then it's correct. You shouldn't have to change anything at all in your source code to use a different compiler or to compile on a different platform. You just have set up the proper environment and parameters--tell it which .java files to compile, which jars or directories to search for classes in (classpath), etc. For IDEs you do that with the Preferences or Options menu item. For command line compilation you do this with command line arguments, config files (a la build.xml for ant), or environment variables (although relying on the CLASSPATH env var is generally a bad idea).

  • Java code to connect to WSDL file with custom header

    Hi all,
    I am an absolute noob when it comes to Java. I need to write a Java app that can connect to a WSDL file with a custom header. Basically, all I need to do is connect to the web service and pass a username and password.
    Any help would be appreciated.
    Thanks,
    A

    Better you use tools which can generate code(interface,proxy and stub classes) which can take care of calling all the WSDL defined methods..i generally use RAD not an open source as per OP use eclipse open source or netbeans which can do the trick

  • JSP (no java code), taglibs and dynamic list boxes

    Hi,
    Can anyone recommend a few examples of JSPs using Tag Libraries to represent a dynamic dropdown box in a form? We are trying to learn how to incorporate tag libs into our pages so we have no code on the JSPs. We currently have a JSP that uses dynamic dropdowns, but the all the code is in the JSP. Most examples we find use either static data or just output data into a table with taglibs. But our pages use many dropdowns, inputs, etc... for updates and inserts. We are using JSPs, servlets, and tags which will get data from EJB's (stateless and entity). (We are also using WEblogic Server 7.0 if that makes any difference) If you know of some good examples or tutorials that show how to accomplish this, it would GREATLY help us out!!
    Thanks!

    Check out Struts, they have an HTML taglib that does exactly what your talking about. http://jakarta.apache.org/struts

  • Java code to make connection to web server??

    Hi,
    we are looking at simple java code to connect to IIS Server and retrive a ZIPed file.
    this zip file contains photos. all individual photos are stored in zip file under doc root of IIS server..
    any sample code will be great

    Here is some code on how to open an URL and read from it.
    url = new URL("http://IIS_server/doc/Yourfile.zip");
    URLConnection conn = url.openConnection();
    conn.setDoInput(true);
    in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
    StringBuffer sbResponse = new StringBuffer();
    int intChar = 0;
    while ((intChar = in.read()) !=-1) {
         // got one byte as int from the server do something here to pass the byte from one stream to another (filestream)
         // there is a way to save to the local HD with an applet but you have to sign it and adjust some security policys
    in.close();

  • Client Code not connecting to WebLogic 8.1 with Mutual Authentication

    I am trying to connect to a WebLogic 8.1 web services application. The weblogic instance has mutual authentication enabled, so the client needs to send a certificate when it does an SSL handshake with the server. I am trying to connect with standalone Java JUnit tests. Both the web services and the JUnit tests are using Apache Axis 1.4.0. I've obtained what I believe to be the appropriate certificates from the weblogic administrator that configured the mutual authentication. There is a certificate for the machine I'm trying to connect to, and two other certificates in the chain (three certificates all together, including the root). I've tried several different methods of putting those three certificates in keystores and trust keystores, reading in those keystores in my java code, and connecting to the web services, and I always end up with the same error in the WebLogic server logs. "Certificate chain receved from <ip address> was incomplete."
    Here is an example of my code:
    I initialize like so:
         Properties tempProperties = // (here is where I obtain my properties from a properties file... code removed for security reasons)
         System.setProperty("javax.net.ssl.trustStore", tempProperties.getProperty("trust.keystore.file"));
         System.setProperty("javax.net.ssl.trustStorePassword", tempProperties.getProperty("trust.keystore.password"));
         System.setProperty("javax.net.ssl.trustStoreType", "jks");
         System.setProperty("javax.net.ssl.keyStore", tempProperties.getProperty("keystore.file"));
         System.setProperty("javax.net.ssl.keyStorePassword", tempProperties.getProperty("keystore.password"));                         System.setProperty("javax.net.ssl.keyStoreType", "jks");
         System.setProperty ( "java.protocol.handler.pkgs", "com.sun.net.ssl.internal.www.protocol" );
         Security.addProvider ( new com.sun.net.ssl.internal.ssl.Provider ( ) );
    I bind to the appropriate port and locate the service, etc. using auto-generated methods descendant from Apache Axis. No matter what I try, I get the same results. The client says: main, handling exception: javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure
    The server log says: Certificate chain received from <ip address> was incomplete.
    I've even tried implementing a custom SSL handler as described here http://alweb.homeip.net/dw0rm/dblog/?p=38, and I can verify by stepping into my code that everything gets initialized and set up correctly, and that all three certificates in the chain that I need are obtained from my keystore, but I still get the same error on the client and the server. I've enabled ssl handshake debugging on my client and I can see the whole certificate chain being output to the debug console.
    Any idea what I might be doing wrong?

    My guess would be that the server is not able to validate your certificate. Make sure that the CA for your certificate is trusted by WLS.
    I always like to debug something like this by add -Djavax.net.debug=ssl to both the client and server. It should give you a complete picture of what is going on.
    Edited by: joshbregmanoracle on May 20, 2009 8:49 PM

  • How to execute a Window program from Unix box using Java

    I am trying to execut a program running on a Window box from Shell Script on a Unix box. Does anybody knows how to do that using Java. Thanks. Any feedback appreciated.
    kevin

    You need to use
    String fileNane = "setup.exe";
    Runtime.getRuntime().exec(fileName);that is if you are writing code
    if you are just calling if from a terminal just write
    java then the file name ( well I think that is right :)
    I do know that the code above work as I have it working on a windoze box
    Craig
    Hope this is right if not please let me know

  • Execute a Window program from Unix box using Java

    Hello everyone,
    I need to call a application running on a Window box from Shell Script on a Unix box. Does any one have some idea how to do it? Sample codes? I was thinking using Java. Any feedback appreciated.
    Thanks.
    CrossonKevin

    Search
    Profit
    http://onesearch.sun.com/search/developers/index.jsp?col=devforums&qp_name=Java+Programming&qp=forum%3A31&qt=execute+program

  • Help Needed in AD Connection form Java Code

    Hi,
    I want to connect to AD target form my java program.
    We are doing this as we don't want to use the OOTB Connectors.
    How can any one connect to AD target from Java program?
    After connecting,
    How to Create a User in AD? Is there any API? Which one?
    Regards,
    SK

    You'll want to do a search on JNDI and Java code. There are lots of sample code available on the web and tutorials. Here's a list of the classes you'll probably be using:
    import javax.naming.CommunicationException;
    import javax.naming.Context;
    import javax.naming.NameNotFoundException;
    import javax.naming.NamingEnumeration;
    import javax.naming.NamingException;
    import javax.naming.OperationNotSupportedException;
    import javax.naming.directory.Attribute;
    import javax.naming.directory.Attributes;
    import javax.naming.directory.BasicAttribute;
    import javax.naming.directory.BasicAttributes;
    import javax.naming.directory.DirContext;
    import javax.naming.directory.InitialDirContext;
    import javax.naming.directory.ModificationItem;
    import javax.naming.directory.SearchControls;
    import javax.naming.directory.SearchResult;
    -Kevin

  • Code to connect java to LDAP

    Hi,
    I am in urgency to get code to connect LDAP server on Domino server,just tell me where i can find a simple code to connect LDAP server using java.

    You can use the JNDI API for this
    The tutorial contains the basic code examples for connecting to LDAP using this API:
    http://java.sun.com/products/jndi/1.2/javadoc/
    You'll also need to download the JNDI API from:
    http://java.sun.com/products/jndi/

  • Using Unix command lines in java code

    I was wondering if there was a way to run a unix command in java code. I know in C++ there is popen, but i don't know of a way in java. The command i need to run is the whois "domain name" command. Any help would be great!
    jarad

    try something like this:
      public static String whois(String domain) throws IOException {
        BufferedReader is = null;
        Process p = null;
        String result = "";
        p = Runtime.getRuntime().exec("whois " + domain);
        is = new BufferedReader(new InputStreamReader(p.getInputStream()));
        String line;
        while((line = is.readLine()) != null)
          result += line;
        return result;
      }

Maybe you are looking for

  • Difference between class and component

    Hi, Can any help me 1) what are the differences betw a java class and java component. 2) what are the differences betw a java script and java. 3) Is there any difference betw a java and server side java 4)what is class path.

  • How to publish a Windows 8.1 store app to cover the old version for Windows 8 app

    Hi,  We need to publish a Windows 8.1 store app which is a Universal app, and there has have a Windows 8 app in store , we completely rewrite the application and now we hope user can upgrade it from old version other than install a new one. We plan t

  • OT Mail Question

    Sorry, I don't know where else to go with this. I use "Mail" on my Mac and sometimes go to the comcast.net web site to get my mail if I'm on the road. I recently bought an Asus EEE which uses Linux and has Mozilla Thunderbird installed as a mail app.

  • Where is the faces dtd?

    Hello, I am trying to find the faces config dtd. I am confused as the file does not appear to be at the following address http://java.sun.com/dtd/web-facesconfig_1_0.dtd Where is it? Thanks in advance, Julien.

  • Infopath has encountered an error. The operation failed. Not enough storage is available to process this command

    hello, Using INFO PATH 2013 on Windows 7 64 bit, user is getting the error "Infopath has encountered an error. The operation failed. Not enough storage is available to process this command" We added the registy IRPStackSize and set it to max 50. This