<div dir="ltr"><br>Matt,<div><br>You're missing some stuff...  Specifically, you're missing the [users] section heading.<br><br>Try this:<br><br>[users]<br>rancid =<br>    rancid_group<br><br>[rancid_group]<br>host_deny =<br>host_allow =<br>        .*<br>device_deny =<br>device_permit =<br>        .*<br>command_deny =<br>        enable password.*<br>        enable secret.*<br>command_permit =<br>        show.*<br>        dir.*<br>        more.*<br>        copy .*<br>        terminal .*<br>        enable.*<br>        write t.*<br>        set length .*<br>        set logging session disable.*<br>        exit.*<br>av_pairs =<br>        priv-lvl=15<br>        shell:roles="network-admin vdc-admin"<br>        local-user-name = remote<br>        allow-commands = (.*copy .*)|(.*show .*)|(.*write .*)|(.*exit)<br>        deny-commands = .*<br>        allow-configuration =<br>        deny-configuation =<br><br><br><br><br>And for your rancid group in tac_plus.conf, try:<br><br>group = randid_group {<br>        default service = permit<br><br>        service = exec {<br>                priv-lvl = 1<br>                optional idletime = 30<br>                optional acl = 2<br>                shell:roles="\"network-operator vdc-operator\""<br>                }<br><br>        service = junos-exec {<br>                bug-fix = "first pair is lost"<br>                local-user-name = "remote"<br>                allow-commands = "(.*exit)|(show cli auth.*)"<br>                deny-commands = ".*"<br>                allow-configuration = ""<br>                deny-configuration = ""<br>                }<br><br>    after authorization "/usr/bin/python /root/tacacs-do_auth/do_auth.py -i $address -u $user -d $name -l /root/tacacs-do_auth/log.txt -f /root/tacacs-do_auth/do_auth.ini"<div><br>    }<br><br><br>I'm using this <b><i>exact</i></b> do_auth.ini config for RANCID in our network with devices ranging the spectrum of Cisco CatOS, IOS, IOS-XR, NX-OS, Arista EOS, and Juniper.<br><br>Note: My TAC_PLUS is patched to only send PASS_ADD and never send PASS_REPL.  I posted my patch to this list a couple of weeks ago.  You may or may not need that patch to successfully use do_auth.py with your network devices.  The error you're seeing is based on the lack of the "[users]" header in your do_auth.ini file though.<br><br><br>--<br>John Fraizer<br>LinkedIn profile: <a href="http://www.linkedin.com/in/johnfraizer/">http://www.linkedin.com/in/johnfraizer/</a><br><br><br>On Tue, Aug 4, 2015 at 3:12 PM, Matt Almgren <<a href="mailto:matta@surveymonkey.com">matta@surveymonkey.com</a>> wrote:<br>> rancid =<br>><br>>     fewcommands<br>><br>><br>> [fewcommands]<br>><br>> host_allow =<br>><br>> .*<br>><br>> device_permit =<br>><br>> .*<br>><br>> command_permit =<br>><br>> show users<br>><br>> show int.*<br>><br>> show ip int.*<br>><br>> show controllers.*<br>><br>> show conf.*<br><br><br><br><br></div></div></div>