I use the Netconf API  and send xml config snippets like so:

<configuration>
 <security>
  <zones>
   <security-zone>
    <name>Untrust</name>
     <address-book>
      <address operation="delete">
       <name>auto_ip-7</name>
       <ip-prefix>67.23.7.115/32</ip-prefix>
      </address>
      <address-set>
       <name>demo_inbound_permit</name>
       <address operation="delete">
       <name>auto_ip-7</name>
       </address>
      </address-set>
     </address-book>
   </security-zone>
  </zones>
 </security>
</configuration>

-----Original Message-----
From: Mark Bassett [mailto:mbass...@intelius.com] 
Sent: Friday, January 28, 2011 5:39 PM
To: Jimmy Hess; Florin Veres
Cc: nanog@nanog.org
Subject: RE: Upload config to juniper

Actually if you use the JUNOS api and the reference scripts there are
examples to do just this.



-----Original Message-----
From: Jimmy Hess [mailto:mysi...@gmail.com] 
Sent: Wednesday, January 26, 2011 6:31 PM
To: Florin Veres
Cc: nanog@nanog.org
Subject: Re: Upload config to juniper

On Mon, Jan 24, 2011 at 7:39 AM, Florin Veres <flo...@futurefreedom.ro>
wrote:
> Hey guys,
> Do any of you have any idea if it's possible to upload configuration
from a
> script (prefix-list updates in this case) to a JunOS device (MX)?
> For Cisco devices I'm doing it using rcp.

>From config mode use  a  "load merge"  command that specifies a SCP or
FTP  URL.
You'll need to setup SSH keys in advance to do so  without an
additional password for the device to download the script.

Alternatively...  SCP the file to a temporary file on the device then
"load merge" the uploaded file,  to merge config from the script.

Net::SSH::Expect from CPAN  to connect  via  ssh  from perl.

Something like
use Net::SSH::Perl;
use Net::SSH::Expect;

my $ssh = Net::SSH::Expect->new(  host =>
'myfavoritehostname.example.com',  user => 'blahblahblah', password =>
'1234',   raw_pty => 1);
$ssh->login(q[blahb...@myfavoritehostname.example.com's password]);
$output1 = $ssh->exec("configure private");
# $blah = $ssh->exec("load merge
usern...@scriptserver.example.com:/path/to/scriptfile_to_load.txt");
print scalar $ssh->exec("show | compare");
# commit

--
-JH



Reply via email to