SSH com JAVA: problema com o "su -"

Boa tarde galera!

Pesquisei aqui no forum algumas coisas sobre SSH com JAVA… bom para conectar e executar comandos no linux como:

df -lh
ls
pwd
w
uname -a

ele esta funcionando bem, porém, quando preciso de permissões de root (exemplo seria usar comandos do ldap ou do SAMBA)
ele nao consegue autenticar-se. Exemplo básico:


Logo como user sysadm e executo a rotina:

:$ df -lh
:$ ls -l
:$ smbldap-passwd fulano  [vai dar erro pois nao sou root]

entao preciso virar root para poder o comando:

:$ sudo su [que dá poderes de root ao user atual]

ou

:$ su - [torna-me root]

em ambos os casos o retorno para este comando seria

:$ Password: [aqui digitaria o pass]

porem isso nao ocorre, o programa trava.... 

estou usando o Ganymede SSH2…

abaixo o metodo que conecta.

public boolean changePass() {

        try {
            Connection con = new Connection("10.1.167.3");

            con.connect();

            boolean autenticado = con.authenticateWithPassword(usr.getUser(),
                    String.valueOf(usr.getPass()));

            if (!autenticado)
                throw new Exception("Erro ao autenticar o usuário." +
                        "\nVerifique sua senha");

            Session ses = con.openSession();

            ses.execCommand("uname -a && date && uptime && who");

            InputStream stdout = new StreamGobbler(ses.getStdout());

            BufferedReader br = new BufferedReader(new InputStreamReader(stdout));

            String line = null;

            while (true) {
                 
                if ((line = br.readLine()) == null)
                    break;
                
                System.out.println(line);
            }

            ses.close();
            con.close();

            return true;
            
        } catch (Exception e) {
            ShowMsg.errorMsg("Erro!\nDesc.: " + e.getMessage());
            return false;
        }
}