2011-01-18 4 views
2

может ли кто-нибудь показать moe, как отправить команду java ssh (пример ssh [email protected] "ls")? Какой класс мне нужен?Отправить команду ssh из Java-кода

+0

возможных дубликатов http://stackoverflow.com/questions/570450/running-commands-over-ssh-with-java и http://stackoverflow.com/questions/995944/ssh-library-for-java –

+0

Удаленный доступ для root? Обычно не рекомендуется. – Qwerky

+0

вы можете использовать библиотеку JSch, но не делаете каталоги с помощью команды ls, лучше используйте sftp из той же библиотеки JSch, что намного проще для просмотра удаленной файловой системы. – Ruslan

ответ

5

Вы можете использовать JSch или любую другую библиотеку Java. Google поможет вам.

Хотя, как правило, мне удобнее выполнять команды ssh из сценария сборки. Например, для этого есть Ant task.

+1

+1 для ссылки на sshexec ant-task как более удобный способ – dimitrisli

11

Использование sshj:

SSHClient ssh = new SSHClient(); 
ssh.loadKnownHosts(); 
ssh.connect("nameOfServer"); 
ssh.authPublickey("userId"); 
Session session = ssh.startSession(); 
Command cmd = session.exec("yourCommand"); 
System.out.println(cmd.getOutputAsString()); 
session.close(); 
ssh.disconnect(); 
Смежные вопросы