Uploaded image for project: 'JITL - JobScheduler Integrated Template Library'
  1. JITL - JobScheduler Integrated Template Library
  2. JITL-571

SSH Job SOSSSHJob2JSAdapter always uses Key Agent when publickey is used as authentication method

    XMLWordPrintable

Details

    • Fix
    • Status: Released (View Workflow)
    • Major
    • Resolution: Fixed
    • 1.12.10, 1.13
    • 1.12.11, 1.13.1
    • None

    Description

      Current Situation

      • When an SSH Job SOSSSHJob2JSAdapter is configured to use publickey as authentication_method then the Job tries to use a key agent and fails.
      • This problem affects SSH jobs running with a JobScheduler Master and with Agents.
      • The job will raise an error message like this:
        • 2019-09-17 08:37:15.633+0200 [info] [stdout] 17 08:37:15.409 [ERROR] (SOSVfsSFtpJCraft.java:716) - connector is not available: 2019-09-17 08:37:15.633+0200 [info] [stdout] com.jcraft.jsch.agentproxy.AgentProxyException: connector is not available: 2019-09-17 08:37:15.633+0200 [info] [stdout] at com.jcraft.jsch.agentproxy.ConnectorFactory.createConnector(ConnectorFactory.java:120) 2019-09-17 08:37:15.633+0200 [info] [stdout] at com.sos.VirtualFileSystem.SFTP.SOSVfsSFtpJCraft.usePublicKeyMethod(SOSVfsSFtpJCraft.java:714) 2019-09-17 08:37:15.633+0200 [info] [stdout] at com.sos.VirtualFileSystem.SFTP.SOSVfsSFtpJCraft.doAuthenticate(SOSVfsSFtpJCraft.java:850) 2019-09-17 08:37:15.633+0200 [info] [stdout] at com.sos.VirtualFileSystem.SFTP.SOSVfsSFtpJCraft.authenticate(SOSVfsSFtpJCraft.java:140) 2019-09-17 08:37:15.633+0200 [info] [stdout] at sos.net.ssh.SOSSSHJobJSch.connect(SOSSSHJobJSch.java:328) 2019-09-17 08:37:15.633+0200 [info] [stdout] at sos.net.ssh.SOSSSHJobJSch.execute(SOSSSHJobJSch.java:112) 2019-09-17 08:37:15.633+0200 [info] [stdout] at sos.scheduler.job.SOSSSHJob2JSAdapter.doProcessing(SOSSSHJob2JSAdapter.java:108) 2019-09-17 08:37:15.633+0200 [info] [stdout] at sos.scheduler.job.SOSSSHJob2JSAdapter.spooler_process(SOSSSHJob2JSAdapter.java:49) 2019-09-17 08:37:15.633+0200 [info] [stdout] 17 08:37:15.631 [ERROR] (SOSSSHJobJSch.java:264) - Error occured during connection/authentication: (myUsername@myHostname:22) com.jcraft.jsch.JSchException - Auth fail (Auth fail) ((myUsername@myHostname:22) com.jcraft.jsch.JSchException - Auth fail (Auth fail))

       

      Desired Behavior

      • The SSH Job should use a public key without trying to use a key agent. 
      • The internal Java option classes should be initialized with the proper default value (useKeyAgent=false).

       

      Maintainer Note

      This behavior was introduced with the JOE-286.feature. The default value of the parameter useKeyAgent was not properly set over all Java option classes.

       

      Workaround

      • Add the following parameter to the SSH Job configuration:
        • <param name="useKeyAgent" value="false"/>
      • Alternatively a patch is provided for JobScheduler 1.13.0 and 1.12.10 (LTS):
        • For JobScheduler Master download the patch from the below link and copy the jar file to {{[SCHEDULER_HOME]/lib/patches }}directory.
        • If the SSH Job runs on a JobScheduler Agent then copy the patch to the {{[SCHEDULER_HOME]/lib/patches }}folder of the Agent.
        • If the patch is installed then there is no need to set the above parameter with the Job configuration.
        • The patch contains the changes for this issue as well as for JITL-572.

      Attachments

        Issue Links

          Activity

            People

              sp Santiago Aucejo Petzoldt
              sp Santiago Aucejo Petzoldt
              Mahendra Patidar Mahendra Patidar
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: