Hello guys,
I am currently working on an automation script that connects via SSH (Username & Password / no ssh key) to a server and reads from a database.
When I run the script locally on my PC, it works fine. I also ran it directly on the Dataminer server and it works there too. I receive all data of the extern database.
However, when I run it through the automation script solution, I always get a “host key not verified” error. I execute the automation script with a low code app.
Even if I open a terminal on the Dataminer server, I can connect via SSH and interact with the remote server without any problems. I also tried setting trust server to true in my code, but it still doesn’t work.
Does anyone have any ideas what could be causing this?
Thanks
Thank you for the answer.
I believe the issue was that the library versions did not match the Dataminer’s dependencies. After downgrading them, I was finally able to connect to the server.
Unfortunately, the database interaction is now broken with the older versions.
Encountered errors while executing script: (after retries) (Code: 0x80040251) Skyline.DataMiner.Net.Exceptions.DataMinerException: No Assembly found for cookie 137 error CS0009: Metadata file 'C:Skyline DataMinerProtocolScriptsDllImportmysql.data8.0.32libnet48krbcc64.dll' could not be opened — PE image doesn't contain managed metadata. error CS0009: Metadata file 'C:Skyline DataMinerProtocolScriptsDllImportmysql.data8.0.32libnet48krb5_64.dll' could not be opened — PE image doesn't contain managed metadata. error CS0009: Metadata file 'C:Skyline DataMinerProtocolScriptsDllImportmysql.data8.0.32libnet48k5sprt64.dll' could not be opened — PE image doesn't contain managed metadata. error CS0009: Metadata file 'C:Skyline DataMinerProtocolScriptsDllImportmysql.data8.0.32libnet48gssapi64.dll' could not be opened — PE image doesn't contain managed metadata. error CS0009: Metadata file 'C:Skyline DataMinerProtocolScriptsDllImportmysql.data8.0.32libnet48comerr64.dll' could not be opened — PE image doesn't contain managed metadata. (72,11): warning CS0219: The variable 'click' is assigned but its value is never used at CManagedAutomation.RunWrapped(CManagedAutomation* , Int32 iCookie, IUnknown* pIAutomation, tagVARIANT* varParameters, tagVARIANT* pvarReturn, String scriptName) at CManagedAutomation.Run(CManagedAutomation* , Int32 iCookie, Char* bstrScriptName, IUnknown* pIAutomation, tagVARIANT* varParameters, tagVARIANT* varEntryPoint, tagVARIANT* pvarReturn, tagVARIANT* pvarEntryPointResult)
My guess is that dataminer runs with 32 bit but my script use 64 bit libraries / dlls.
Hi Omer,
As Felix mentioned, this error means that the key stored for the host you are trying to connect to has changed.
To solve this issue, you could remove the outdated entries from the file `C:\Users\YourUser\.ssh\know_hosts`
Open the file and search for the hostname or IP address of the remote server. Then delete any line(s) that match that host and save the file.
After that, try connecting again. You should be prompted to accept the new host key.
Hope it helps.
Thanks for the advice, but unfortunately that’s not the issue. I can already connect to the server via cmd. I also verified the user executing the automation script when I use the same user via cmd, I can successfully connect and retrieve the data.
Hi Ömer, even if I'm not sure what you are using in your script (assumeing openSSH) please make sure you're using the same user for the automation script that you used directly on the server. With a local connection, the key is stored in the `.ssh/known_hosts` file in the settings of the locally used user. If you're using different users in your LCA, you can try impersonating a different user. You can find an example of this in the Sagemcom SANA driver.
As an alternative you can try bypass the host key checking: ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null