Ngotomatisasi Entri ing SecureCRT Nggunakake Skrip

Insinyur jaringan asring ngadhepi tugas nyalin / nempelake pecahan tartamtu saka notepad menyang konsol. Sampeyan biasane kudu nyalin sawetara paramèter: Jeneng pangguna / Sandi lan liya-liyane. Panggunaan skrip ngidini sampeyan nyepetake proses iki. Nanging tugas nulis skrip lan nglakokaké skrip kudu njupuk wektu kurang saka total konfigurasi manual, yen ora, skrip ora ana gunane.

Artikel iki kanggo apa? Artikel iki saka seri Fast Start lan ngarahake kanggo ngirit wektu insinyur jaringan nalika nyetel peralatan (tugas siji) ing macem-macem piranti. Nggunakake piranti lunak SecureCRT lan fungsi eksekusi skrip sing dibangun.

Isi

Pambuka

Program SecureCRT nduweni mekanisme eksekusi skrip sing dibangun ing njaba kothak. Apa skrip terminal kanggo?

  • I / O otomatis, lan validasi I / O minimal.
  • Nyepetake eksekusi tugas rutin - nyuda jeda ing antarane setelan peralatan. (Pengurangan de facto jeda sing disebabake wektu kanggo nindakake salinan / tumindak kepungkur ing hardware sing padha, kanthi 3 utawa luwih fragmen perintah sing bakal ditrapake ing hardware.)

Dokumen iki kalebu tugas:

  • Nggawe skrip prasaja.
  • Nganggo skrip ing SecureCRT.
  • Conto nggunakake script prasaja lan majeng. (Laku saka urip nyata.)

Nggawe skrip prasaja.

Skrip sing paling gampang mung nggunakake rong perintah, Kirim lan WaitForString. Fungsi iki cukup kanggo 90% (utawa luwih) tugas sing ditindakake.

Skrip bisa digunakake ing Python, JS, VBS (Visual Basic), Perl, lsp.

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

Biasane file kanthi 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

Biasane file kanthi ekstensi "*.vbs"

Nggawe script nggunakake entri script.

Ngidini sampeyan ngotomatisasi proses nulis skrip. Sampeyan miwiti nulis skrip. SecureCRT ngrekam printah lan respon hardware sakteruse lan nampilake script rampung kanggo sampeyan.

A. Miwiti nulis skrip:
Menu SecureCRT => Skrip => Mulai Rekam Skrip
b. Nindakake tumindak karo console (nindakake langkah konfigurasi ing CLI).
V. Rampung nulis skrip:
Menu SecureCRT => Skrip => Stop Rekaman Skrip…
Simpen file skrip.

Conto printah sing dieksekusi lan skrip sing disimpen:

Ngotomatisasi Entri ing SecureCRT Nggunakake Skrip

Nganggo skrip ing SecureCRT.

Sawise nggawe / nyunting naskah, muncul pitakonan alami: Kepiye cara ngetrapake naskah kasebut?
Ana sawetara cara:

  • Mlaku kanthi manual saka menu Skrip
  • Miwiti otomatis sawise sambungan (skrip logon)
  • Logon otomatis tanpa nggunakake skrip
  • Micu kanthi manual nganggo tombol ing SecureCRT (tombol durung digawe lan ditambahake menyang SecureCRT)

Mlaku kanthi manual saka menu Skrip

Menu SecureCRT => Script => Run…
- 10 skrip pungkasan dielingi lan kasedhiya kanggo diluncurake kanthi cepet:
Menu SecureCRT => Script => 1 "Nama file skrip"
Menu SecureCRT => Script => 2 "Nama file skrip"
Menu SecureCRT => Script => 3 "Nama file skrip"
Menu SecureCRT => Script => 4 "Nama file skrip"
Menu SecureCRT => Script => 5 "Nama file skrip"

Miwiti otomatis sawise sambungan (skrip logon)

Setelan skrip logging otomatis dikonfigurasi kanggo sesi sing disimpen: Sambungan => Logon Actions => Logon script

Ngotomatisasi Entri ing SecureCRT Nggunakake Skrip

Logon otomatis tanpa nggunakake skrip

Sampeyan bisa kanthi otomatis ngetik jeneng panganggo sandi tanpa nulis script, mung nggunakake fungsi dibangun ing SecureCRT. Ing setelan sambungan "Sambungan" => Tindakan Logon => Otomatis mlebu log - sampeyan kudu ngisi pirang-pirang bundel - sing tegese pasangan: "Teks sing dikarepake" + "Karakter sing dikirim menyang teks iki" bisa uga ana akeh pasangan. (Conto: Pasangan 1 ngenteni jeneng panganggo, kapindho ngenteni sandhi, katelu ngenteni pituduh mode istimewa, pasangan kaping papat kanggo sandi mode istimewa.)

Conto login otomatis ing Cisco ASA:

Ngotomatisasi Entri ing SecureCRT Nggunakake Skrip

Micu kanthi manual nganggo tombol ing SecureCRT (tombol durung digawe lan ditambahake menyang SecureCRT)

Ing SecureCRT, sampeyan bisa nemtokake skrip menyang tombol. Tombol ditambahake menyang panel sing digawe khusus kanggo tujuan iki.

A. Nambahake panel menyang antarmuka: SecureCRT Menu => View => Button Bar
b. Tambah tombol menyang panel lan tambahake skrip. - Klik-tengen ing Bar Tombol banjur pilih "tombol anyar ..." saka menu konteks.
V. Ing kothak dialog "Tombol Peta", ing lapangan "Tindakan", pilih tumindak "Run Script" (fungsi).
Nemtokake caption kanggo tombol. Werna kanggo lambang tombol. Rampung setelan kanthi ngeklik Ok.

Ngotomatisasi Entri ing SecureCRT Nggunakake Skrip

Wigati:

Panel karo tombol fungsi banget migunani.

1. Sampeyan bisa, nalika Logon menyang sesi tartamtu, kanggo nemtokake kang panel kanggo mbukak tab iki minangka standar.

2. Sampeyan bisa nyetel tumindak sing wis ditemtokake kanggo tumindak standar karo peralatan: nuduhake versi show, nuduhake mlaku-config, nyimpen konfigurasi.

Ngotomatisasi Entri ing SecureCRT Nggunakake Skrip
Ora ana skrip sing dipasang ing tombol kasebut. Mung baris tumindak:

Ngotomatisasi Entri ing SecureCRT Nggunakake Skrip
Setelan - supaya nalika ngalih menyang sesi, panel sing perlu karo tombol mbukak ing setelan sesi:

Ngotomatisasi Entri ing SecureCRT Nggunakake Skrip
Iku ndadekake pangertèn kanggo customer nyiyapake script individu kanggo Login lan pindhah menyang panel karo printah Kerep kanggo vendor.

Ngotomatisasi Entri ing SecureCRT Nggunakake Skrip
Nalika sampeyan menet tombol Go Cisco, panel ngalih menyang Cisco Button Bar.

Ngotomatisasi Entri ing SecureCRT Nggunakake Skrip

Conto nggunakake script prasaja lan majeng. (Laku saka urip nyata.)

Skrip prasaja cukup kanggo meh kabeh kesempatan. Nanging yen aku kudu nggawe rumit naskah - kanggo nyepetake karya. Komplikasi iki mung njaluk data tambahan ing kothak dialog saka pangguna.

Njaluk data saka pangguna nggunakake kothak dialog

Aku duwe 2 ing skrip panyuwunan data. Iki minangka Hostname lan oktet kaping 4 saka alamat IP. Kanggo nindakake tumindak iki - Aku googled carane nindakake lan ketemu ing situs web resmi SecureCRT (vandyke). - fungsi kasebut diarani pituduh.

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

Iki bagéan saka script takon Hostname lan nomer saka oktet pungkasan. Awit ana 15 piranti. Lan data ditampilake ing tabel, banjur aku nyalin nilai saka tabel lan nempel ing kothak dialog. Salajengipun naskah makarya kanthi mandiri.

Nyalin FTP menyang peralatan jaringan.

Skrip iki mbukak jendhela printah (cangkang) lan nyalin data liwat FTP. Ing pungkasan, tutup sesi. Ora mungkin nggunakake notepad kanggo iki, amarga nyalin butuh wektu sing suwe lan data ing buffer FTP ora bakal disimpen nganti suwe:

# $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()

Ngetik jeneng pangguna / sandhi nggunakake skrip

Ing siji akses customer kanggo peralatan jaringan langsung ditutup. Sampeyan bisa ngetik peralatan kasebut kanthi nyambungake menyang Default Gateway, lan banjur menyang peralatan sing disambungake. Klien ssh sing dibangun ing piranti lunak IOS/hardware digunakake kanggo nyambungake. Mulane, jeneng pangguna lan sandhi dijaluk ing console. Kanthi skrip ing ngisor iki, jeneng pangguna lan sandhi dilebokake kanthi 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()

Cathetan: Ana skrip 2. Siji kanggo akun administrator, sing nomer loro kanggo akun eSIGHT.

Skrip kanthi kemampuan kanggo nambah data langsung sajrone eksekusi skrip.

Tugas kasebut yaiku nambah rute statis ing kabeh peralatan jaringan. Nanging gateway menyang Internet ing saben peralatan beda (lan bedo saka gateway standar). Skrip ing ngisor iki nampilake tabel rute, ngetik mode konfigurasi, ora nulis printah nganti pungkasan (alamat IP gateway menyang Internet) - Aku nambahake bagean iki. Sawise aku menet Enter, script terus nglakokaké printah.

# $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()

Ing script iki, ing baris: crt.Screen.Send ("ip route 10.10.10.8 255.255.255.252 ") alamat IP gateway ora ditambahake lan ora ana carriage bali karakter. Skrip ngenteni baris sabanjure kanthi karakter "(config) #" Karakter kasebut muncul sawise aku ngetik alamat ip lan mlebu.

Kesimpulan:

Nalika nulis skrip lan nglakokake, aturan kasebut kudu dituruti: Wektu kanggo nulis skrip lan nglakokake skrip mesthine ora luwih saka wektu sing digunakake sacara teoritis kanggo nindakake karya sing padha kanthi manual (nyalin / nempel saka notepad, nulis lan debugging. playbook kanggo ansible, nulis lan debugging skrip python). Yaiku, panggunaan skrip kudu ngirit wektu, lan ora mbuwang wektu kanggo otomatisasi proses siji-wektu (yaiku, nalika naskah kasebut unik lan ora ana pengulangan maneh). Nanging yen skrip kasebut unik lan otomatis karo skrip lan nulis / debugging skrip mbutuhake wektu sing luwih sithik tinimbang nindakake kanthi cara liya (ansible, jendhela perintah), mula skrip kasebut minangka solusi sing paling apik.
Debugging skrip. Skrip mundhak mboko sithik, debugging njupuk Panggonan ing run-in ing pisanan, kaloro, piranti katelu, lan ing kaping papat script paling kamungkinan bakal kanthi operasional.

Nganggo skrip (kanthi ngetik jeneng pangguna + sandhi) nganggo mouse biasane luwih cepet tinimbang nyalin Jeneng Pangguna lan Sandi saka notepad. Nanging ora aman saka sudut pandang keamanan.
Conto liyane (nyata) nalika nggunakake skrip: Sampeyan ora duwe akses langsung menyang peralatan jaringan. Nanging ana perlu kanggo ngatur kabeh peralatan jaringan (nggawa menyang sistem ngawasi, ngatur jeneng panganggo tambahan / sandi / snmpv3username / sandhi). Ana akses nalika sampeyan pindhah menyang saklar inti, saka iku sampeyan mbukak SSH kanggo peralatan liyane. Apa sampeyan ora bisa nggunakake Ansible. - Amarga kita mbukak menyang watesan ing jumlah diijini mau simultaneous ing peralatan jaringan (line vty 0 4, user-antarmuka vty 0 4) (pitakonan liyane carane miwiti peralatan beda ing Ansible karo SSH padha hop pisanan).

Skrip nyuda wektu sajrone operasi dawa - contone, nyalin file liwat FTP. Sawise nyalin rampung, skrip langsung bisa digunakake. Wong kudu ndeleng pungkasane nyalin, banjur ngerti pungkasane nyalin, banjur ketik perintah sing cocog. Skrip nindakake kanthi objektif luwih cepet.

Skrip bisa ditrapake yen ora bisa nggunakake alat pangiriman data massal: Console. Utawa nalika sawetara data kanggo peralatan unik: jeneng host, alamat ip manajemen. Utawa nalika nulis program lan debugging luwih angel tinimbang nambahake data sing ditampa saka peralatan nalika script lagi mlaku. - Conto karo script kanggo resep rute, nalika saben peralatan duwe alamat IP dhewe saka panyedhiya Internet. (Kanca-kancaku nulis skrip kasebut - nalika DMVPN ngomong luwih saka 3. Sampeyan kudu ngganti setelan DMVPN).

Studi Kasus: Konfigurasi Setelan Awal ing Ngalih Anyar Nggunakake Port Konsol:

A. Kepasang kabel console menyang piranti.
B. Jalanake naskah
B. Ngenteni eksekusi naskah
D. Kepasang kabel console menyang piranti sabanjure.
E. Yen saklar dudu sing pungkasan, pindhah menyang langkah B.

Minangka asil karya skrip:

  • sandi dhisikan disetel ing peralatan.
  • Jeneng pangguna dilebokake
  • alamat IP unik piranti dilebokake.

PS operasi kudu bola. Amarga Default ssh ora dikonfigurasi / dipateni. (Ya, iki salahku.)

Sumber sing digunakake.

1. Babagan nggawe skrip
2. Tuladha skrip

Lampiran 1: Tuladha skrip.


Conto skrip dawa, kanthi rong pitakon: Hostname lan alamat IP. Iki digawe kanggo prasetel peralatan liwat console (9600 baud). Lan uga kanggo nyiapake sambungan peralatan menyang 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()

Tulisan kasebut biasane ora dibutuhake, nanging jumlah peralatan yaiku 15 pcs. Diijini persiyapan luwih cepet. Iku luwih cepet kanggo nyiyapake peralatan nggunakake jendhela SecureCRT Command.

Nggawe akun kanggo ssh.

Conto liyane. Konfigurasi uga liwat console.

# $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()


Babagan SecureCRT:Piranti lunak mbayar: saka $99 (rega paling cilik mung kanggo SecureCRT setaun)
Situs web resmi
Lisensi piranti lunak dituku sapisan, kanthi dhukungan (kanggo nganyari), banjur piranti lunak digunakake nganggo lisensi iki kanggo wektu sing ora ana watesan.

Bisa digunakake ing sistem operasi Mac OS X lan Windows.

Ana dhukungan skrip (artikel iki)
Ana Jendela Command
Sistem Operasi Serial/Telnet/SSH1/SSH2/Shell

Source: www.habr.com