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

perkenalan

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.

Python

# $language = "Python"
# $interface = "1.0"
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("Password")
  crt.Screen.Synchronous = False
main()

Biasana file sareng ekstensi "*.py"

VBS

# $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:

Ngaotomatiskeun Éntri dina SecureCRT Ngagunakeun Skrip

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

Ngaotomatiskeun Éntri dina SecureCRT Ngagunakeun Skrip

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:

Ngaotomatiskeun Éntri dina SecureCRT Ngagunakeun Skrip

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.

Ngaotomatiskeun Éntri dina SecureCRT Ngagunakeun Skrip

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.

Ngaotomatiskeun Éntri dina SecureCRT Ngagunakeun Skrip
Taya skrip napel tombol ieu. Garis aksi wungkul:

Ngaotomatiskeun Éntri dina SecureCRT Ngagunakeun Skrip
Setélan - supados nalika ngalih ka sési, panel anu dipikabutuh sareng tombol dibuka dina setélan sési:

Ngaotomatiskeun Éntri dina SecureCRT Ngagunakeun Skrip
Masuk akal pikeun palanggan nyetél skrip individu pikeun Login sareng angkat ka panel kalayan paréntah sering pikeun anu ngajual.

Ngaotomatiskeun Éntri dina SecureCRT Ngagunakeun Skrip
Lamun anjeun mencet tombol Go Cisco, switch panel ka Cisco Button Bar.

Ngaotomatiskeun Éntri dina SecureCRT Ngagunakeun Skrip

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.

	crt.Screen.WaitForString("-Vlanif200]")
	hostnamestr = crt.Dialog.Prompt("Enter hostname:", "hostname", "", False)
	ipaddressstr = crt.Dialog.Prompt("Enter ip address:", "ip", "", False)
	crt.Screen.Send("ip address 10.10.10.")
	crt.Screen.Send(ipaddressstr)
	crt.Screen.Send(" 23r")
	crt.Screen.Send("quitr")
	crt.Screen.Send("sysname ")
	crt.Screen.Send(hostnamestr)
	crt.Screen.Send("r") 

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.)

Sumber dipaké.

1. Ngeunaan nyieun naskah
2. conto naskah

Lampiran 1: Contoh naskah.


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.

# $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.Send("sysr")
	crt.Screen.WaitForString("]")
	crt.Screen.Send("interface Vlanif 1r")
	crt.Screen.WaitForString("Vlanif1]")
	crt.Screen.Send("undo ip addressr")
	crt.Screen.Send("shutdownr")
	crt.Screen.Send("vlan 100r")
	crt.Screen.Send(" description description1r")
	crt.Screen.Send(" name description1r")
	crt.Screen.Send("vlan 110r")
	crt.Screen.Send(" description description2r")
	crt.Screen.Send(" name description2r")
	crt.Screen.Send("vlan 120r")
	crt.Screen.Send(" description description3r")
	crt.Screen.Send(" name description3r")
	crt.Screen.Send("vlan 130r")
	crt.Screen.Send(" description description4r")
	crt.Screen.Send(" name description4r")
	crt.Screen.Send("vlan 140r")
	crt.Screen.Send(" description description5r")
	crt.Screen.Send(" name description5r")
	crt.Screen.Send("vlan 150r")
	crt.Screen.Send(" description description6r")
	crt.Screen.Send(" name description6r")
	crt.Screen.Send("vlan 160r")
	crt.Screen.Send(" description description7r")
	crt.Screen.Send(" name description7r")
	crt.Screen.Send("vlan 170r")
	crt.Screen.Send(" description description8r")
	crt.Screen.Send(" name description8r")               
	crt.Screen.Send("vlan 180r")
	crt.Screen.Send(" description description9r")
	crt.Screen.Send(" name description9r")
	crt.Screen.Send("vlan 200r")
	crt.Screen.Send(" description description10r")
	crt.Screen.Send(" name description10r")
	crt.Screen.Send("vlan 300r")
	crt.Screen.Send(" description description11r")
	crt.Screen.Send(" name description11r")
	crt.Screen.Send("quitr")
	crt.Screen.WaitForString("]")
	crt.Screen.Send("stp region-configurationr")
	crt.Screen.Send("region-name descr")
	crt.Screen.Send("active region-configurationr")
	crt.Screen.WaitForString("mst-region]")
	crt.Screen.Send("quitr")
	crt.Screen.Send("stp instance 0 priority 57344r")
	crt.Screen.WaitForString("]")
	crt.Screen.Send("interface range GigabitEthernet 0/0/1 to GigabitEthernet 0/0/42r")
	crt.Screen.WaitForString("port-group]")
	crt.Screen.Send("description Usersr")
	crt.Screen.WaitForString("port-group]")
	crt.Screen.Send("port link-type hybridr")
	crt.Screen.WaitForString("port-group]")
	crt.Screen.Send("voice-vlan 100 enabler")
	crt.Screen.WaitForString("port-group]")
	crt.Screen.Send("voice-vlan legacy enabler")
	crt.Screen.WaitForString("port-group]")
	crt.Screen.Send("port hybrid pvid vlan 120r")
	crt.Screen.WaitForString("port-group]")
	crt.Screen.Send("port hybrid tagged vlan 100r")
	crt.Screen.WaitForString("port-group]")
	crt.Screen.Send("port hybrid untagged vlan 120r")
	crt.Screen.WaitForString("port-group]")
	crt.Screen.Send("stp edged-port enabler")
	crt.Screen.WaitForString("port-group]")
	crt.Screen.Send("trust 8021pr")
	crt.Screen.WaitForString("port-group]")
	crt.Screen.Send("storm-control broadcast min-rate 1000 max-rate 1500r")
	crt.Screen.WaitForString("port-group]")
	crt.Screen.Send("storm-control multicast min-rate 1000 max-rate 1500r")
	crt.Screen.WaitForString("port-group]")
	crt.Screen.Send("storm-control action blockr")
	crt.Screen.WaitForString("port-group]")
	crt.Screen.Send("storm-control enable trapr")
	crt.Screen.WaitForString("port-group]")
	crt.Screen.Send("quitr")
	crt.Screen.Send("interface range GigabitEthernet 0/0/43 to GigabitEthernet 0/0/48r")
	crt.Screen.WaitForString("port-group]")
	crt.Screen.Send("description Printersr")
	crt.Screen.WaitForString("port-group]")
	crt.Screen.Send("port link-type accessr")
	crt.Screen.WaitForString("port-group]")
	crt.Screen.Send("port default vlan 130r")
	crt.Screen.WaitForString("port-group]")
	crt.Screen.Send("stp edged-port enabler")
	crt.Screen.WaitForString("port-group]")
	crt.Screen.Send("trust 8021pr")
	crt.Screen.WaitForString("port-group]")
	crt.Screen.Send("storm-control broadcast min-rate 1000 max-rate 1500r")
	crt.Screen.WaitForString("port-group]")
	crt.Screen.Send("storm-control multicast min-rate 1000 max-rate 1500r")
	crt.Screen.WaitForString("port-group]")
	crt.Screen.Send("storm-control action blockr")
	crt.Screen.WaitForString("port-group]")
	crt.Screen.Send("storm-control enable trapr")
	crt.Screen.WaitForString("port-group]")
	crt.Screen.Send("quitr")
	crt.Screen.Send("interface range XGigabitEthernet 0/0/1 to XGigabitEthernet 0/0/2r")
	crt.Screen.WaitForString("port-group]")
	crt.Screen.Send("description uplinkr")
	crt.Screen.WaitForString("port-group]")
	crt.Screen.Send("port link-type trunkr")
	crt.Screen.WaitForString("port-group]")
	crt.Screen.Send("port trunk allow-pass vlan 100 110 120 130 140 150 160 170 180 200r")
	crt.Screen.WaitForString("port-group]")
	crt.Screen.Send("port trunk allow-pass vlan 300r")
	crt.Screen.WaitForString("port-group]")
	crt.Screen.Send("storm-control broadcast min-rate 1000 max-rate 1500r")
	crt.Screen.WaitForString("port-group]")
	crt.Screen.Send("storm-control multicast min-rate 1000 max-rate 1500r")
	crt.Screen.WaitForString("port-group]")
	crt.Screen.Send("storm-control action blockr")
	crt.Screen.WaitForString("port-group]")
	crt.Screen.Send("storm-control enable trapr")
	crt.Screen.WaitForString("port-group]")
	crt.Screen.Send("quitr")
	crt.Screen.Send("ntp-service unicast-server 10.10.10.4r")
	crt.Screen.Send("ntp-service unicast-server 10.10.10.2r")
	crt.Screen.Send("ntp-service unicast-server 10.10.10.134r")
	crt.Screen.Send("ip route-static 0.0.0.0 0.0.0.0 10.10.10.254r")
	crt.Screen.Send("interface Vlanif 200r")
	crt.Screen.WaitForString("-Vlanif200]")
	crt.Screen.Send("r")
	crt.Screen.WaitForString("-Vlanif200]")
	crt.Screen.Send("r")
	crt.Screen.WaitForString("-Vlanif200]")
	crt.Screen.Send("r")
	crt.Screen.WaitForString("-Vlanif200]")
	crt.Screen.Send("r")
	crt.Screen.WaitForString("-Vlanif200]")
	crt.Screen.Send("r")
	crt.Screen.WaitForString("-Vlanif200]")
	crt.Screen.Send("r")
	crt.Screen.WaitForString("-Vlanif200]")
	crt.Screen.Send("r")
	crt.Screen.WaitForString("-Vlanif200]")
        hostnamestr = crt.Dialog.Prompt("Enter hostname:", "hostname", "", False)
        ipaddressstr = crt.Dialog.Prompt("Enter ip address:", "ip", "", False)
	crt.Screen.Send("ip address 10.10.10.")
	crt.Screen.Send(ipaddressstr)
	crt.Screen.Send(" 24r")
	crt.Screen.Send("quitr")
	crt.Screen.Send("sysname ")
	crt.Screen.Send(hostnamestr)
	crt.Screen.Send("r")
	crt.Screen.WaitForString("]")
	crt.Screen.Synchronous = False
main()

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

sumber: www.habr.com