Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- String userName = "";
- String hostName = "";
- String password = "";
- JSch javaSecureChannel = new JSch();
- Session jschSession = null;
- Channel jschChannel = null;
- try {
- jschSession = javaSecureChannel.getSession(userName, hostName, 22);
- Properties configurationProperties = new Properties();
- configurationProperties.put("StrictHostKeyChecking", "no");
- jschSession.setConfig(configurationProperties);
- jschSession.setPassword(password);
- jschSession.connect();
- jschChannel = null;
- jschChannel = jschSession.openChannel("shell");
- jschChannel.setOutputStream(System.out);
- File shellScript = createShellScript();
- FileInputStream fin = new FileInputStream(shellScript);
- byte fileContent[] = new byte[(int) shellScript.length()];
- fin.read(fileContent);
- InputStream in = new ByteArrayInputStream(fileContent);
- jschChannel.setInputStream(in);
- jschChannel.connect();
- while(true){
- //if(jschChannel.isClosed)
- if(jschChannel.getExitStatus() == 0){
- System.out.println("exit-status: " + jschChannel.getExitStatus());
- break;
- }
- try{
- Thread.sleep(1000);
- }catch(Exception ee){
- ee.printStackTrace();
- }
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- jschChannel.disconnect();
- jschSession.disconnect();
- System.out.println("Done...!!!");
- String temporaryShellFileName = "shellscript.sh";
- File fileStream = new File(temporaryShellFileName);
- try {
- PrintStream outStream = new PrintStream(new FileOutputStream(fileStream));
- outStream.println("#!/bin/bash");
- outStream.println("cd /u01/app/java/gids4x/Test");
- outStream.println("Test_with_NULL.sh");
- outStream.close();
- } catch (Exception e) {
- System.err.println("Error: " + e.getMessage());
- }
- public static void main(String[] arg){
- Channel channel=null;
- Session session=null;
- try{
- JSch.setLogger(new MyLogger());
- JSch jsch=new JSch();
- jsch.addIdentity("C:\testLinuxKey.key");
- 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=jsch.getSession(user, host, 22);
- // username and password will be given via UserInfo interface.
- UserInfo ui=new MyUserInfo();
- session.setUserInfo(ui);
- session.connect();
- channel=session.openChannel("shell");
- //channel.setInputStream(System.in);
- channel.setOutputStream(System.out);
- String temporaryShellFileName = "shellscript.sh";
- File fileStream = new File(temporaryShellFileName);
- try {
- PrintStream outStream = new PrintStream(new FileOutputStream(fileStream));
- outStream.println("id");
- outStream.println("sudo bash");
- outStream.println("cd /tmp/");
- outStream.println("/tmp/wasinfo.sh");
- outStream.println("exit");
- outStream.println("exit");
- outStream.close();
- FileInputStream fin = new FileInputStream(fileStream);
- byte fileContent[] = new byte[(int) fileStream.length()];
- fin.read(fileContent);
- InputStream in = new ByteArrayInputStream(fileContent);
- channel.setInputStream(in);
- } catch (Exception e) {
- System.err.println("Error: " + e.getMessage());
- }
- channel.connect();
- while(channel.isConnected())
- {
- System.out.println("----- Channel On ----");
- Thread.currentThread().sleep(5000);
- }
- channel.disconnect();
- session.disconnect();
- }
- catch(Exception e){
- System.out.println(e);
- channel.disconnect();
- session.disconnect();
- }
- System.out.println("Main End");
- }
Add Comment
Please, Sign In to add comment