Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * To change this license header, choose License Headers in Project Properties.
- * To change this template file, choose Tools | Templates
- * and open the template in the editor.
- */
- package filesystemconnection;
- import com.jcraft.jsch.Channel;
- import com.jcraft.jsch.ChannelExec;
- import com.jcraft.jsch.ChannelSftp;
- import com.jcraft.jsch.JSch;
- import com.jcraft.jsch.Session;
- import com.jcraft.jsch.UIKeyboardInteractive;
- import com.jcraft.jsch.UserInfo;
- import java.io.InputStream;
- import javax.swing.JOptionPane;
- /**
- *
- * @author ppestka
- */
- public class FileSystemConnectionGui extends javax.swing.JFrame {
- /**
- * Creates new form FileSystemConnectionGui
- */
- public FileSystemConnectionGui() {
- initComponents();
- }
- /**
- * This method is called from within the constructor to initialize the form.
- * WARNING: Do NOT modify this code. The content of this method is always
- * regenerated by the Form Editor.
- */
- @SuppressWarnings("unchecked")
- // <editor-fold defaultstate="collapsed" desc="Generated Code">
- private void initComponents() {
- fsconnpropjLabel1 = new javax.swing.JLabel();
- jSeparator1 = new javax.swing.JSeparator();
- userNamejLabel1 = new javax.swing.JLabel();
- userjTextField1 = new javax.swing.JTextField();
- passwordjLabel1 = new javax.swing.JLabel();
- passwordjTextField1 = new javax.swing.JTextField();
- hostjLabel1 = new javax.swing.JLabel();
- hostjTextField1 = new javax.swing.JTextField();
- portjLabel1 = new javax.swing.JLabel();
- portjTextField1 = new javax.swing.JTextField();
- testConnectionjButton1 = new javax.swing.JButton();
- setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
- setResizable(false);
- fsconnpropjLabel1.setText("Filesystem connection properties");
- userNamejLabel1.setText("User :");
- passwordjLabel1.setText("Password :");
- hostjLabel1.setText("Host :");
- portjLabel1.setText("Port :");
- testConnectionjButton1.setText("TEST");
- testConnectionjButton1.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- testConnectionjButton1ActionPerformed(evt);
- }
- });
- javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
- getContentPane().setLayout(layout);
- layout.setHorizontalGroup(
- layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(layout.createSequentialGroup()
- .addContainerGap()
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(jSeparator1)
- .addComponent(fsconnpropjLabel1)
- .addGroup(layout.createSequentialGroup()
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(passwordjLabel1)
- .addComponent(hostjLabel1)
- .addComponent(portjLabel1)
- .addComponent(userNamejLabel1))
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(userjTextField1)
- .addGroup(layout.createSequentialGroup()
- .addComponent(portjTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 62, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(testConnectionjButton1, javax.swing.GroupLayout.DEFAULT_SIZE, 81, Short.MAX_VALUE))
- .addComponent(passwordjTextField1)
- .addComponent(hostjTextField1))))
- .addContainerGap())
- );
- layout.setVerticalGroup(
- layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(layout.createSequentialGroup()
- .addContainerGap()
- .addComponent(fsconnpropjLabel1)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(jSeparator1, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addGap(18, 18, 18)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
- .addComponent(userNamejLabel1)
- .addComponent(userjTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addGap(18, 18, 18)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
- .addComponent(passwordjLabel1)
- .addComponent(passwordjTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addGap(18, 18, 18)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
- .addComponent(hostjLabel1)
- .addComponent(hostjTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addGap(18, 18, 18)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
- .addComponent(portjLabel1)
- .addComponent(portjTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addComponent(testConnectionjButton1))
- .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
- );
- pack();
- }// </editor-fold>
- private void testConnectionjButton1ActionPerformed(java.awt.event.ActionEvent evt) {
- String user = "gdc2";// userjTextField1.getText();
- String pass = "aFYVW4uX";// passwordjTextField1.getText();
- String host = "exmxapp01";// hostjTextField1.getText();
- int port = 22;// Integer.parseInt(portjTextField1.getText());
- try{
- JSch jsch=new JSch();
- Session session=jsch.getSession(user, host, 22);
- String passwd = JOptionPane.showInputDialog("Enter password");
- session.setPassword(passwd);
- UserInfo ui = new MyUserInfo(){
- public void showMessage(String message){
- JOptionPane.showMessageDialog(null, message);
- }
- public boolean promptYesNo(String message){
- Object[] options={ "yes", "no" };
- int foo=JOptionPane.showOptionDialog(null,
- message,
- "Warning",
- JOptionPane.DEFAULT_OPTION,
- JOptionPane.WARNING_MESSAGE,
- null, options, options[0]);
- return foo==0;
- }
- // If password is not given before the invocation of Session#connect(),
- // implement also following methods,
- // * UserInfo#getPassword(),
- // * UserInfo#promptPassword(String message) and
- // * UIKeyboardInteractive#promptKeyboardInteractive()
- };
- session.setUserInfo(ui);
- // It must not be recommended, but if you want to skip host-key check,
- // invoke following,
- // session.setConfig("StrictHostKeyChecking", "no");
- //session.connect();
- session.connect(30000); // making a connection with timeout.
- Channel channel=session.openChannel("shell");
- // Enable agent-forwarding.
- //((ChannelShell)channel).setAgentForwarding(true);
- channel.setInputStream(System.in);
- /*
- // a hack for MS-DOS prompt on Windows.
- channel.setInputStream(new FilterInputStream(System.in){
- public int read(byte[] b, int off, int len)throws IOException{
- return in.read(b, off, (len>1024?1024:len));
- }
- });
- */
- channel.setOutputStream(System.out);
- /*
- // Choose the pty-type "vt102".
- ((ChannelShell)channel).setPtyType("vt102");
- */
- /*
- // Set environment variable "LANG" as "ja_JP.eucJP".
- ((ChannelShell)channel).setEnv("LANG", "ja_JP.eucJP");
- */
- //channel.connect();
- channel.connect(3*1000);
- }
- catch(Exception e){
- System.out.println(e);
- }
- }
- public static abstract class MyUserInfo
- implements UserInfo, UIKeyboardInteractive{
- public String getPassword(){ return null; }
- public boolean promptYesNo(String str){ return false; }
- public String getPassphrase(){ return null; }
- public boolean promptPassphrase(String message){ return false; }
- public boolean promptPassword(String message){ return false; }
- public void showMessage(String message){ }
- public String[] promptKeyboardInteractive(String destination,
- String name,
- String instruction,
- String[] prompt,
- boolean[] echo){
- return null;
- }
- }
- // Variables declaration - do not modify
- private javax.swing.JLabel fsconnpropjLabel1;
- private javax.swing.JLabel hostjLabel1;
- private javax.swing.JTextField hostjTextField1;
- private javax.swing.JSeparator jSeparator1;
- private javax.swing.JLabel passwordjLabel1;
- private javax.swing.JTextField passwordjTextField1;
- private javax.swing.JLabel portjLabel1;
- private javax.swing.JTextField portjTextField1;
- private javax.swing.JButton testConnectionjButton1;
- private javax.swing.JLabel userNamejLabel1;
- private javax.swing.JTextField userjTextField1;
- // End of variables declaration
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement