NetXMS Support Forum

English Support => General Support => Topic started by: Egert143 on September 04, 2019, 07:55:45 PM

Title: scripting and ssh commands
Post by: Egert143 on September 04, 2019, 07:55:45 PM
Could realy use some help with scripting, just starting out with it and could use some guidance.

i have peaced together a sample script that is supposed to ssh into device and reboot it, i wanna use it through tool menu. So far i havent got it working yet.

Script: AgentReadList(FindNodeObject($node, 2493), "SSH.Command(192.168.1.10,user,password,put [/system reboot])");

Device never recives any ssh logins
Title: Re: scripting and ssh commands
Post by: Victor Kirhenshtein on September 05, 2019, 01:26:58 PM
Do you have SSH subagent loaded on node with ID 2493? If yes, check agent's log on that node for how SSH request was processed. You may need to set debug level 5 or higher on agent.

Best regards,
Victor
Title: Re: scripting and ssh commands
Post by: Egert143 on September 05, 2019, 03:14:20 PM
Node 2493 is router. i changed it to netxms server and now the script is working.

AgentReadList(FindNodeObject($node, "NetXms-Server"), "SSH.Command(192.168.1.10, username ,password,put [/system reboot])");

When i create tool to run this script, how can i insert dynamic values to script, that are taken from node where tool is used (ip, username, password)?

Egert
Title: Re: scripting and ssh commands
Post by: Egert143 on September 10, 2019, 10:36:44 AM
Any help with last question ? :)
Title: Re: scripting and ssh commands
Post by: Victor Kirhenshtein on September 10, 2019, 12:53:05 PM
You can use attributes from node objects (NXSL class Node - https://wiki.netxms.org/wiki/NXSL:Node (https://wiki.netxms.org/wiki/NXSL:Node), accessible via $node variable). SSH credentials are not accessible from NXSL, however it version 3.0 we have added method executeSSHCommand in Node class.

Best regards,
Victor
Title: Re: scripting and ssh commands
Post by: Egert143 on February 10, 2020, 01:49:07 PM
Resurecting an old topic.

What i am trying to do is make tool->restart ssh command (for ubiquiti wireless device).

is "$node->executeSSHCommand("reboot");" correct syntax ? when i run it it returns null as value and device doesent reboot. Ssh credentials are filled out in node config.

Title: Re: scripting and ssh commands
Post by: Filipp Sudanov on February 18, 2020, 06:42:01 PM
ssh functionality is implemented only in ssh.nsm subagent, server does not do ssh communications. So, if you have zoning, you need to load ssh.nsm on zone proxies. If there's no zoning, agent running on netxms server will be used for ssh commands, so you need to enable ssh.nsm there.