通过JSCh将密码传递给shell脚本

时间:2012-09-20 10:37:44

标签: java ssh jsch

我想登录远程计算机并执行shell脚本。该脚本将在运行时提示用户ID和密码。

是否可以使用JSch执行此操作?

1 个答案:

答案 0 :(得分:1)

这里有多点需要考虑:

  • 要连接到服务器,您将使用JSch会话,然后使用exec频道(即ChannelExec),并将脚本的名称作为命令。

  • 然后脚本将尝试读取密码。您必须在通道的输出流上传递它,该输出流连接到脚本的输入流。

  • 脚本可能会尝试不从标准输入读取,而是从终端读取。如果是这样,您将需要使用方法setPty(true)启用“伪终端”,甚至可能使用其他方法设置终端类型。当然,这也将取决于支持此服务的SSH服务器,但如果您可以使用其他SSH程序来执行此操作,则应该可以正常工作。