Bonjour

j'aimerai savoir si quelqu'un peut m'aider , le programme suivant fait l'objet d'une connection ssh via Java

le pb est que apres "dataOut.writeBytes("ssh tt@10.10.10.5 \n");" je dois entrer un passw ( Password: )

j'arrive pas a trouver la solution pour ça

Merci d'avance


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
 
package com.jschDemo.demo;
 
 
import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.InputStreamReader;
import java.util.Properties;
import com.jcraft.jsch.Channel;
import com.jcraft.jsch.ChannelExec;
import com.jcraft.jsch.JSch;
import com.jcraft.jsch.Session;
 
public class ssh {
 
 
	public static void main(String[] args) {
 
		JSch jsch = new JSch();
	    Session session = null;
	    String privateKeyPatch="C:\\Users\\USER\\eclipse-workspace\\jschDemo.demo\\key.ppk";
 
 
	        try {
	            // set up session
	        	jsch.addIdentity(privateKeyPatch);
	            session = jsch.getSession("root","10.10.10.10", 22);
	            session.setPassword("test");
 
 
	            Properties config = new Properties();
	            config.put("StrictHostKeyChecking", "no");
	            session.setConfig(config);
 
	            session.connect();
 
	            System.out.println("Connected");
 
				Channel channel=session.openChannel("shell");
 
	            channel.connect();
 
	            DataInputStream dataIn = new DataInputStream(channel.getInputStream());
	            BufferedReader reader = new BufferedReader(new InputStreamReader(dataIn));
	            DataOutputStream dataOut = new DataOutputStream(channel.getOutputStream());
 
	            dataOut.writeBytes("su - user \r\n");
	            dataOut.writeBytes("ssh tt@10.10.10.5 \n");
 
 
 
		        dataOut.flush();
		      	String line = reader.readLine();
		        String result = line +"\n";
 
		        while (!(line= reader.readLine()).equals("# ")){
		              result += line +"\n";
		              System.out.println(result);
		        }
 
	        } catch (Exception e) {
	        	System.out.println("Exception");
	        	System.out.println(e.getMessage());
 
	        }
 
}
}