Periodically Spectrum Network Configuration Manager (NCM) captures or uploads fail for SSH/SCP communication mode and $SPECROOT/NCM/NCMSERV.OUT file contains similar errors
java.io.EOFException: SSHSCP1: premature EOF at com.mindbright.sshcommon.SSHSCP1.readFully(SSHSCP1.java:444) at com.mindbright.sshcommon.SSHSCP1.readFromRemote(SSHSCP1.java:285) at com.mindbright.sshcommon.SSHSCP1.copyToLocal(SSHSCP1.java:179) at com.mindbright.util.SshSCPConnection.copyFromRemote(SshSCPConnection.java:192) at com.aprisma.spectrum.scmd.CiscoSCP.captureConfig(CiscoSCP.java:143) at com.aprisma.spectrum.scmd.CiscoSCP.captureRunningConfig(CiscoSCP.java:98) at com.aprisma.spectrum.scmd.ScmServiceImpl.captureRunningConfigImpl(ScmServiceImpl.java:278) at com.aprisma.spectrum.scmd.ScmServiceImpl.captureRunningConfigRun(ScmServiceImpl.java:194) at com.aprisma.spectrum.scmd.ScmServiceImpl.access$000(ScmServiceImpl.java:30) at com.aprisma.spectrum.scmd.ScmServiceImpl$1.run(ScmServiceImpl.java:1861) at java.lang.Thread.run(Thread.java:662)
For Spectrum 10.1 and below:
1. Create new file in $SPECROOT/NCM/ncmprops
2. Add single line entry covering:
com.mindbright.ssh2.SSH2StreamChannel.checkRxWindowSize.enabled=true
Setting will automatically be picked up in about 5 seconds of ncmprops file being saved and at time of next NCM SSH/SCP capture task.
In addition to this setting additional setting for the Mindterm library usage could be added:
com.mindbright.sshcommon.SSHSCP1.readFully.initstat1=true
com.mindbright.sshcommon.SSHSCP1.readFully.initwait=10000
com.mindbright.ssh2.SSH2InternalChannel.usejavaapi=true
NOTE: The ncmprops will not be overwritten on upgrade, but will need to be added to any SpectroSERVER that has devices which will use the SSH/SCP communication mode for NCM.
For Spectrum 10.2 and above:
A new library implementation via "jsch" is available which then avoids using Mindterm library for NCM SSH/SCP tasks. Please reference the "NCM Support for SSH using Jsch libraries" section of the documentation form more information.