I assume you are using Perl script. So the script failed within the following code section.
# login output should contain the right prompt characters
if( $login_output !~ /\#\s*\z/ )
{
$msg = "Login has failed. Didn't see device prompt as expected.";
$ssh->close();
return( 252, $msg );
}
The code section is validating the output after SSH into the device. It uses Regex '/\#\s*\z/' which is basically looking '#' character in the output, i.e. the prompt.
As the prompt ('#') doesn't exist it throws out "Login has failed. Didn't see device prompt as expected." error message.
You can test by launch bash login shell on the SpectroSERVER machine and run the following command to SSH into the device.
ssh <user>@<device hostname>
And verify if you are getting the correct prompt as what the Perl script has expected. If no then you have to fix this SSH issue or you may want to change the Perl codes.