3 Replies Latest reply on Dec 9, 2013 2:20 PM by danielschmidt

    SSH scripting with plink / paramiko etc

    danielschmidt New Member

      Has anyone been able to script SSH commands in AOS with a tool like Putty's plink.exe or Python's paramiko library?  I can connect successfully with username/password authentication, but attempting to run any commands produces an error and immediately disconnects.

       

      Plink output:

      C:\>plink -ssh -v -l USERNAME -pw PASSWORD HOSTNAME "show version"

      Looking up host "HOSTNAME"

      Connecting to IPADDRESS port 22

      Server version: SSH-2.0-RomSShell_4.31

      Using SSH protocol version 2

      We claim version: SSH-2.0-PuTTY_Release_0.63

      Using Diffie-Hellman with standard group "group1"

      Doing Diffie-Hellman key exchange with hash SHA-1

      Host key fingerprint is:

      ssh-dss 1024 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

      Initialised triple-DES CBC client->server encryption

      Initialised HMAC-SHA1 client->server MAC algorithm

      Initialised triple-DES CBC server->client encryption

      Initialised HMAC-SHA1 server->client MAC algorithm

      Using username "USERNAME".

      Sent password

      Access granted

      Opening session as main channel

      Opened main channel

      Server refused to start a shell/command

      FATAL ERROR: Server refused to start a shell/command

        • Re: SSH scripting with plink / paramiko etc
          jayh Hall_of_Fame

          I'm not familiar with Plink or paramiko, but my co-worker (or cow-orker for you old-timers) Ted Cabeen wrote a RANCID modification to send commands to Adtran devices which works quite nicely.  It's in perl but the concept is the same.  Basically a smart wrapper for an expect script.  See:

           

          http://osdir.com/ml/network.rancid/2006-08/msg00025.html

          • Re: SSH scripting with plink / paramiko etc
            jayh Hall_of_Fame

            danielschmidt wrote:

             

            Has anyone been able to script SSH commands in AOS with a tool like Putty's plink.exe or Python's paramiko library?  I can connect successfully with username/password authentication, but attempting to run any commands produces an error and immediately disconnects.

             

            Plink output:

            C:\>plink -ssh -v -l USERNAME -pw PASSWORD HOSTNAME "show version"

             

            [snip]

             

            Sent password

            Access granted

            Opening session as main channel

            Opened main channel

            Server refused to start a shell/command

            FATAL ERROR: Server refused to start a shell/command

             

            Perhaps your script is looking for a specific prompt or syntax from the unit?  "show version" should work without needing to be enabled.  If you're looking to capture and record version and configuration info, RANCID with the Adtran plug-in is the way to go.  We may tweak it to send "no events" before the main script as the occasional firewall log notice will sometimes get misinterpreted as a diff.  Available from http://www.shrubbery.net/rancid/  The price is right, too.