Ngaotomatiskeun Éntri dina SecureCRT Ngagunakeun Skrip
Insinyur jaringan sering nyanghareupan tugas nyalin / nempelkeun sempalan tina notepad ka konsol. Anjeun biasana kudu nyalin sababaraha parameter: Ngaran pamaké / Sandi jeung hal sejenna. Pamakéan skrip ngamungkinkeun anjeun nyepetkeun prosés ieu. TAPI tugas nulis naskah sareng ngaéksekusi naskah kedah nyandak kirang waktos total tibatan konfigurasi manual, upami henteu, naskah henteu aya gunana.
Pikeun naon artikel ieu? Tulisan ieu tina séri Fast Start sareng ditujukeun pikeun ngahémat waktos insinyur jaringan nalika nyetél alat (tugas tunggal) dina sababaraha alat. Nganggo parangkat lunak SecureCRT sareng fungsionalitas palaksanaan naskah anu diwangun. eusi
Program SecureCRT gaduh mékanisme palaksanaan naskah anu diwangun dina kotak. Naon ari skrip terminal?
I / O otomatis, sareng validasi I / O minimal.
Nyepetkeun palaksanaan tugas rutin - ngirangan jeda antara setélan alat. (De facto réduksi tina jeda disababkeun ku waktu pikeun ngalakukeun salinan / lampah kaliwat dina hardware sarua, kalawan 3 atawa leuwih fragmen paréntah pikeun dilarapkeun ka hardware.)
Dokumén ieu nyertakeun tugas:
Nyieun naskah basajan.
Ngajalankeun skrip dina SecureCRT.
Conto ngagunakeun skrip basajan tur canggih. (Praktekkeun tina kahirupan nyata.)
Nyieun naskah basajan.
Skrip pangbasajanna ngan ukur nganggo dua paréntah, Kirim sareng WaitForString. Fungsi ieu cukup pikeun 90% (atanapi langkung) tina tugas anu dilaksanakeun.
Skrip tiasa dianggo dina Python, JS, VBS (Visual Basic), Perl, jsb.
# $language = "VBScript"
# $interface = "1.0"
Sub Main
crt.Screen.Synchronous = True
crt.Screen.Send vbcr
crt.Screen.WaitForString "name"
crt.Screen.Send "cisco" & vbcr
crt.Screen.WaitForString "assword"
crt.Screen.Send "cisco" & vbcr
crt.Screen.Synchronous = False
End Sub
Biasana file sareng ekstensi "*.vbs"
Jieun naskah ngagunakeun éntri naskah.
Ngidinan anjeun pikeun ngajadikeun otomatis prosés nulis naskah. Anjeun ngamimitian nulis naskah. SecureCRT ngarékam paréntah sareng réspon hardware saterasna sareng ningalikeun naskah anu parantos réngsé pikeun anjeun.
A. Mimitian nulis naskah:
Menu SecureCRT => Skrip => Mimitian Ngarékam Skrip
b. Laksanakeun tindakan sareng konsol (ngalakukeun léngkah konfigurasi dina CLI).
V. Réngsé nulis naskah:
Menu SecureCRT => Skrip => Eureun Skrip Rékam…
Simpen file skrip.
Conto paréntah anu dieksekusi sareng skrip anu disimpen:
Ngajalankeun skrip dina SecureCRT.
Sanggeus nyieun/ngédit naskah, timbul patarosan wajar: Kumaha ngalarapkeun naskah?
Aya sababaraha cara:
Ngajalankeun sacara manual tina menu Skrip
Mimitian otomatis saatos sambungan (skrip logon)
Logon otomatis tanpa nganggo naskah
Micu ku cara manual ku tombol dina SecureCRT (tombol teu acan dijieun tur ditambahkeun kana SecureCRT)
Ngajalankeun sacara manual tina menu Skrip
Menu SecureCRT => Skrip => Jalankeun…
- 10 naskah anu terakhir émut sareng sayogi pikeun diluncurkeun gancang:
Menu SecureCRT => Script => 1 "Ngaran file Script"
Menu SecureCRT => Script => 2 "Ngaran file Script"
Menu SecureCRT => Script => 3 "Ngaran file Script"
Menu SecureCRT => Script => 4 "Ngaran file Script"
Menu SecureCRT => Script => 5 "Ngaran file Script"
Mimitian otomatis saatos sambungan (skrip logon)
Setélan skrip logging otomatis dikonpigurasi pikeun sési anu disimpen: Sambungan => Logon Actions => Logon script
Logon otomatis tanpa nganggo naskah
Kasebut nyaéta dimungkinkeun pikeun otomatis ngasupkeun ngaran pamaké tina sandi tanpa nulis naskah, ngan ngagunakeun pungsionalitas diwangun-di SecureCRT. Dina setélan sambungan "Connection" => Logon Actions => Otomatis logon - Anjeun kudu ngeusian sababaraha bundles - nu hartina pasangan: "Teks ekspektasi" + "Kirim karakter kana téks ieu" bisa jadi loba pasangan sapertos. (Conto: Pasangan 1 ngantosan nami pangguna, kadua ngantosan kecap konci, katilu ngantosan pituduh mode privilege, pasangan kaopat kanggo sandi mode privilege.)
Conto login otomatis dina Cisco ASA:
Micu ku cara manual ku tombol dina SecureCRT (tombol teu acan dijieun tur ditambahkeun kana SecureCRT)
Dina SecureCRT, anjeun tiasa napelkeun skrip kana tombol. Tombol ieu ditambahkeun kana panel husus dijieun pikeun tujuan ieu.
A. Nambahkeun panel kana panganteur: SecureCRT Menu => Témbongkeun => Button Bar
b. Tambihkeun tombol kana panel sareng tambahkeun naskah. - Klik-katuhu dina Tombol Bar sareng pilih "tombol Anyar ..." tina ménu kontéks.
V. Dina kotak dialog "Kancing Peta", dina widang "Aksi", pilih aksi (fungsi) "Run Script".
Sebutkeun caption pikeun tombol. Warna pikeun ikon tombol. Rengse setélan ku ngaklik Ok.
Catetan:
Panel sareng tombol mangrupikeun fungsionalitas anu kapaké.
1. Ieu mungkin, nalika Logon ka sési husus, pikeun nangtukeun mana panel pikeun muka tab ieu sacara standar.
2. Kasebut nyaéta dimungkinkeun pikeun ngeset lampah tos siap pikeun lampah baku kalawan parabot: némbongkeun versi acara, acara ngajalankeun-config, simpen konfigurasi.
Taya skrip napel tombol ieu. Garis aksi wungkul:
Setélan - supados nalika ngalih ka sési, panel anu dipikabutuh sareng tombol dibuka dina setélan sési:
Masuk akal pikeun palanggan nyetél skrip individu pikeun Login sareng angkat ka panel kalayan paréntah sering pikeun anu ngajual.
Lamun anjeun mencet tombol Go Cisco, switch panel ka Cisco Button Bar.
Conto ngagunakeun skrip basajan tur canggih. (Praktekkeun tina kahirupan nyata.)
Aksara basajan cukup pikeun ampir kabéh kasempetan. Tapi sakali kuring kedah ngahesekeun naskah sakedik - pikeun nyepetkeun padamelan. Komplikasi ieu ngan menta data tambahan dina kotak dialog ti pamaké.
Nyuhunkeun data ti pangguna nganggo kotak dialog
Kuring kungsi 2 dina skrip pamundut data. Ieu Hostname jeung oktet 4 tina alamat IP. Pikeun ngalakukeun tindakan ieu - kuring googled kumaha ngalakukeunana sareng mendakanana dina halaman wéb resmi SecureCRT (vandyke). - pungsionalitasna disebut ajakan.
Ieu bagian tina naskah nanya Hostname jeung nomer tina oktet panungtungan. Kusabab aya 15 parabot. Sareng datana disayogikeun dina méja, teras kuring nyalin nilai-nilai tina méja sareng nempelkeun kana kotak dialog. Salajengna naskah digawé mandiri.
FTP nyalin kana alat jaringan.
Skrip ieu ngaluncurkeun jandela paréntah kuring (cangkang) sareng nyalin data liwat FTP. Dina tungtungna, tutup sési. Teu mungkin nganggo notepad pikeun ieu, sabab nyalin butuh waktos anu lami sareng data dina panyangga FTP moal disimpen salami éta:
# $language = "Python"
# $interface = "1.0"
# Connect to a telnet server and automate the initial login sequence.
# Note that synchronous mode is enabled to prevent server output from
# potentially being missed.
def main():
crt.Screen.Synchronous = True
crt.Screen.Send("ftp 192.168.1.1r")
crt.Screen.WaitForString("Name")
crt.Screen.Send("adminr")
crt.Screen.WaitForString("Password:")
crt.Screen.Send("Passwordr")
crt.Screen.WaitForString("ftp")
crt.Screen.Send("binaryr")
crt.Screen.WaitForString("ftp")
crt.Screen.Send("put S5720LI-V200R011SPH016.patr")
crt.Screen.WaitForString("ftp")
crt.Screen.Send("quitr")
crt.Screen.Synchronous = False
main()
Ngasupkeun ngaran pamaké/sandi maké skrip
Dina hiji aksés customer kana alat jaringan langsung ditutup. Kasebut nyaéta dimungkinkeun pikeun ngasupkeun alat ku cara mimiti nyambungkeun ka Default Gateway, sarta ti dinya lajeng ka alat disambungkeun ka dinya. The ssh klien diwangun kana ios / software hardware ieu dipaké pikeun nyambungkeun. Sasuai, ngaran pamaké sarta sandi anu dipénta dina konsol nu. Kalayan skrip di handap, nami pangguna sareng kecap akses diasupkeun sacara otomatis:
# $language = "Python"
# $interface = "1.0"
# Connect to a telnet server and automate the initial login sequence.
# Note that synchronous mode is enabled to prevent server output from
# potentially being missed.
def main():
crt.Screen.Synchronous = True
crt.Screen.Send("snmpadminr")
crt.Screen.WaitForString("assword:")
crt.Screen.Send("Passwordr")
crt.Screen.Synchronous = False
main()
Catetan: Aya 2 naskah. Hiji pikeun akun administrator, kadua pikeun akun eSIGHT.
Script kalawan kamampuhan pikeun langsung nambahkeun data salila palaksanaan skrip.
Tugasna nyaéta pikeun nambihan rute statik dina sadaya alat jaringan. Tapi gateway ka Internet dina unggal alat éta béda (jeung eta béda ti gateway standar). Skrip handap ditampilkeun tabel routing, diasupkeun kana modeu konfigurasi, teu nulis paréntah nepi ka ahir (alamat IP tina gateway ka Internet) - Kuring ditambahkeun bagian ieu. Saatos kuring pencét Enter, naskah terus ngalaksanakeun paréntah.
# $language = "Python"
# $interface = "1.0"
# Connect to a telnet server and automate the initial login sequence.
# Note that synchronous mode is enabled to prevent server output from
# potentially being missed.
def main():
crt.Screen.Synchronous = True
crt.Screen.Send("Zdes-mogla-bit-vasha-reklamar")
crt.Screen.WaitForString("#")
crt.Screen.Send("show run | inc ip router")
crt.Screen.WaitForString("#")
crt.Screen.Send("conf tr")
crt.Screen.WaitForString("(config)#")
crt.Screen.Send("ip route 10.10.10.8 255.255.255.252 ")
crt.Screen.WaitForString("(config)#")
crt.Screen.Send("endr")
crt.Screen.WaitForString("#")
crt.Screen.Send("copy run star")
crt.Screen.WaitForString("[startup-config]?")
crt.Screen.Send("r")
crt.Screen.WaitForString("#")
crt.Screen.Send("exitr")
crt.Screen.Synchronous = False
main()
Dina naskah ieu, dina garis: crt.Screen.Send ("ip route 10.10.10.8 255.255.255.252") alamat IP gateway teu ditambahkeun jeung euweuh karakter carriage return. Skrip ngantosan garis salajengna sareng karakter "(config) #" Karakter ieu muncul saatos kuring ngalebetkeun alamat ip sareng lebetkeun.
Kacindekan:
Nalika nyerat naskah sareng ngalaksanakeunana, aturanana kedah diturutan: Waktos pikeun nyerat naskah sareng ngaéksekusi naskah teu kedah langkung seueur tibatan waktos sacara téoritis dianggo pikeun ngalakukeun padamelan anu sami sacara manual (salinan / témpél tina notepad, nyerat sareng debugging. a playbook pikeun ansible, nulis jeung debugging Aksara python). Nyaéta, panggunaan naskah kedah ngahémat waktos, sareng henteu miceunan waktos dina prosés otomatisasi hiji waktos (nyaéta, nalika naskahna unik sareng moal aya deui pengulangan). Tapi upami naskahna unik sareng otomatis sareng naskah sareng nyerat / debugging naskah nyandak waktos langkung sakedik tibatan ngalakukeunana ku cara anu sanés (ansible, jandela paréntah), maka naskah mangrupikeun solusi anu pangsaéna.
Debugging skrip. Skrip tumuwuh laun, debugging lumangsung dina ngajalankeun-in dina alat kahiji, kadua, katilu, sarta ku kaopat naskah paling dipikaresep bakal pinuh operasional.
Ngajalankeun skrip (ku ngasupkeun ngaran pamaké+sandi) jeung beurit biasana leuwih gancang batan nyalin Ngaran pamaké jeung Sandi tina notepad. Tapi teu aman tina sudut pandang kaamanan.
conto sejen (nyata) lamun ngagunakeun naskah: Anjeun teu boga wasa langsung ka alat jaringan. Tapi aya anu peryogi pikeun ngonpigurasikeun sadaya alat jaringan (mawa kana sistem ngawaskeun, ngonpigurasikeun tambahan Username/sandi/snmpv3username/sandi). Aya aksés nalika anjeun angkat ka saklar Core, ti dinya anjeun muka SSH ka alat anu sanés. Naha anjeun teu tiasa nganggo Ansible. - Kusabab urang ngajalankeun kana wates dina Jumlah diidinan sesi simultaneous dina alat jaringan (garis vty 0 4, pamaké-interface vty 0 4) (patarosan sejen nyaeta kumaha carana ngamimitian parabot béda dina Ansible jeung SSH sarua hop munggaran).
Skrip ngirangan waktos salami operasi panjang - contona, nyalin file nganggo FTP. Saatos nyalin réngsé, naskah langsung ngamimitian dianggo. Hiji jalma kedah ningali tungtung nyalin, teras sadar tungtung nyalin, teras lebetkeun paréntah anu luyu. Skrip ngalakukeunana sacara objektif langkung gancang.
Skrip tiasa dianggo dimana teu mungkin ngagunakeun alat pangiriman data massa: Konsol. Atanapi nalika sababaraha data pikeun alat éta unik: hostname, alamat ip manajemén. Atanapi nalika nyerat program sareng debugging langkung hese tibatan nambihan data anu ditampi tina alat nalika naskah jalan. - Conto kalayan naskah pikeun resep rute, nalika unggal alat gaduh alamat IP sorangan tina panyadia Internét. (Kolega kuring nulis naskah sapertos - nalika DMVPN spoke éta leuwih 3. Ieu diperlukeun pikeun ngarobah setelan DMVPN).
Studi Kasus: Ngonpigurasikeun Setélan Awal dina Pindah Anyar Nganggo Palabuhan Konsol:
A. Nyolokkeun kabel konsol kana alat.
B. Jalankeun naskah
B. Didagoan eksekusi naskah
D. Colokkeun kabel konsol kana alat salajengna.
E. Upami saklar sanes anu terakhir, angkat ka lengkah B.
Salaku hasil karya naskah:
sandi awal disetel dina alat.
Ngaran pamaké diasupkeun
alamat IP unik alat diasupkeun.
PS operasi kedah diulang. Kusabab Default ssh teu ngonpigurasi / ditumpurkeun. (Leres, ieu kasalahan abdi.)
Conto naskah anu panjang, kalayan dua patarosan: Hostname sareng alamat IP. Éta dijieun pikeun alat prasetél ngaliwatan konsol (9600 baud). Sarta ogé pikeun nyiapkeun sambungan pakakas pikeun jaringan.
Skrip sapertos kitu biasana henteu diperyogikeun, tapi jumlah alatna 15 PCS. Diidinan pangaturan langkung gancang. Éta langkung gancang pikeun nyetél alat nganggo jandela SecureCRT Command.
Nyetel hiji akun pikeun ssh.
conto sejen. Konfigurasi ogé via konsol nu.
# $language = "Python"
# $interface = "1.0"
# Connect to a telnet server and automate the initial login sequence.
# Note that synchronous mode is enabled to prevent server output from
# potentially being missed.
def main():
crt.Screen.Synchronous = True
crt.Screen.Send("r")
crt.Screen.WaitForString("name")
crt.Screen.Send("adminr")
crt.Screen.WaitForString("Password:")
crt.Screen.Send("Passwordr")
crt.Screen.WaitForString(">")
crt.Screen.Send("sysr")
crt.Screen.Send("stelnet server enabler")
crt.Screen.Send("aaar")
crt.Screen.Send("local-user admin service-type terminal ftp http sshr")
crt.Screen.Send("quitr")
crt.Screen.Send("user-interface vty 0 4r")
crt.Screen.Send("authentication-mode aaar")
crt.Screen.Send("quitr")
crt.Screen.Send("quitr")
crt.Screen.Synchronous = False
main()
Ngeunaan SecureCRT:Parangkat lunak mayar: ti $99 (harga pangleutikna ngan ukur pikeun SecureCRT salami sataun) ramatloka resmi
A lisénsi software dibeuli sakali, kalawan rojongan (pikeun ngamutahirkeun), lajeng software nu dipaké kalawan lisénsi ieu pikeun hiji waktos taya.
Gawéna dina sistem operasi Mac OS X sareng Windows.
Aya dukungan naskah (artikel ieu)
aya jandela paréntah
Serial / Telnet / SSH1 / SSH2 / Sistem Operasi Shell