Измените объявление основного метода на:
public static void main(String[] args) throws IOException
В Java каждый метод. Вызов другого метода B должен объявить все исключения, которые B может выполнить (если они не являются потомками RuntimeException
или если A не ловит и не обрабатывает их явно в блоке try-catch).
В вашем случае A есть main
, B - printFile
.
Вы не можете этого сделать с большинством клиентов SSH. Вы можете обойти это, используя SSH API, например Paramiko для Python. Будьте осторожны, чтобы не отменить все политики безопасности.
Список рассылки FreeBSD рекомендует библиотеку expect .
Если вам нужен программный вход по ssh, вы действительно должны использовать вход с открытым ключом , однако, очевидно, что в этом случае гораздо меньше дыр в безопасности по сравнению с использованием внешней библиотеки для передачи пароля через stdin
.