Mengotomatiskan Entri di SecureCRT Menggunakan Script

Insinyur jaringan sering menghadapi tugas menyalin/menempelkan fragmen tertentu dari notepad ke konsol. Anda biasanya harus menyalin beberapa parameter: Nama Pengguna/Kata Sandi dan yang lainnya. Penggunaan skrip memungkinkan Anda untuk mempercepat proses ini. TETAPI tugas menulis skrip dan mengeksekusi skrip seharusnya memakan waktu lebih sedikit daripada konfigurasi manual, jika tidak, skrip tidak berguna.

Untuk apa artikel ini? Artikel ini berasal dari seri Mulai Cepat dan bertujuan untuk menghemat waktu teknisi jaringan saat menyiapkan peralatan (tugas tunggal) di beberapa perangkat. Menggunakan perangkat lunak SecureCRT dan fungsionalitas eksekusi skrip bawaan.

kadar

pengenalan

Program SecureCRT memiliki mekanisme eksekusi skrip bawaan di luar kotak. Untuk apa skrip terminal?

  • I/O otomatis, dan validasi I/O minimal.
  • Percepat pelaksanaan tugas rutin - kurangi jeda antara pengaturan peralatan. (Pengurangan jeda secara de facto yang disebabkan oleh waktu untuk melakukan tindakan penyalinan/melampaui pada perangkat keras yang sama, dengan 3 fragmen perintah atau lebih untuk diterapkan ke perangkat keras.)

Dokumen ini mencakup tugas-tugas:

  • Pembuatan script sederhana.
  • Menjalankan skrip di SecureCRT.
  • Contoh penggunaan skrip sederhana dan lanjutan. (Latihan dari kehidupan nyata.)

Pembuatan script sederhana.

Skrip paling sederhana hanya menggunakan dua perintah, Send dan WaitForString. Fungsionalitas ini cukup untuk 90% (atau lebih) tugas yang dilakukan.

Skrip dapat bekerja dengan Python, JS, VBS (Visual Basic), Perl, dll.

Ular sanca

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

Biasanya file dengan 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

Biasanya file dengan ekstensi "*.vbs"

Buat skrip menggunakan entri skrip.

Memungkinkan Anda mengotomatiskan proses penulisan skrip. Anda mulai menulis naskah. SecureCRT merekam perintah dan respons perangkat keras selanjutnya dan menampilkan skrip yang sudah selesai untuk Anda.

A. Mulai menulis skrip:
Menu SecureCRT => Script => Mulai Merekam Script
B. Lakukan tindakan dengan konsol (lakukan langkah konfigurasi di CLI).
V . Selesai menulis skrip:
Menu SecureCRT => Script => Berhenti Merekam Script…
Simpan file skrip.

Contoh perintah yang dieksekusi dan skrip yang disimpan:

Mengotomatiskan Entri di SecureCRT Menggunakan Script

Menjalankan skrip di SecureCRT.

Setelah membuat/mengedit skrip, muncul pertanyaan wajar: Bagaimana cara menerapkan skrip?
Ada beberapa cara:

  • Menjalankan secara manual dari menu Script
  • Mulai otomatis setelah koneksi (skrip masuk)
  • Logon otomatis tanpa menggunakan skrip
  • Memicu secara manual dengan tombol di SecureCRT (tombol belum dibuat dan ditambahkan ke SecureCRT)

Menjalankan secara manual dari menu Script

Menu SecureCRT => Skrip => Jalankan…
- 10 skrip terakhir diingat dan tersedia untuk peluncuran cepat:
Menu SecureCRT => Skrip => 1 "Nama file skrip"
Menu SecureCRT => Skrip => 2 "Nama file skrip"
Menu SecureCRT => Skrip => 3 "Nama file skrip"
Menu SecureCRT => Skrip => 4 "Nama file skrip"
Menu SecureCRT => Skrip => 5 "Nama file skrip"

Mulai otomatis setelah koneksi (skrip masuk)

Pengaturan skrip logging otomatis dikonfigurasi untuk sesi yang disimpan: Connection => Logon Actions => Logon script

Mengotomatiskan Entri di SecureCRT Menggunakan Script

Logon otomatis tanpa menggunakan skrip

Dimungkinkan untuk memasukkan nama pengguna kata sandi secara otomatis tanpa menulis skrip, hanya menggunakan fungsionalitas bawaan SecureCRT. Dalam pengaturan koneksi "Koneksi" => Tindakan Masuk => Otomatis masuk - Anda perlu mengisi beberapa bundel - yang artinya pasangan: "Teks yang diharapkan" + "Karakter terkirim ke teks ini" bisa ada banyak pasangan seperti itu. (Contoh: pasangan pertama menunggu nama pengguna, pasangan kedua menunggu kata sandi, pasangan ketiga menunggu prompt mode istimewa, pasangan keempat untuk kata sandi mode istimewa.)

Contoh logon otomatis di Cisco ASA:

Mengotomatiskan Entri di SecureCRT Menggunakan Script

Memicu secara manual dengan tombol di SecureCRT (tombol belum dibuat dan ditambahkan ke SecureCRT)

Di SecureCRT, Anda dapat menetapkan skrip ke sebuah tombol. Tombol ditambahkan ke panel yang dibuat khusus untuk tujuan ini.

A. Menambahkan panel ke antarmuka: SecureCRT Menu => View => Button Bar
B. Tambahkan tombol ke panel dan tambahkan skrip. – Klik kanan pada Button Bar dan pilih “New button…” dari menu konteks.
V . Di kotak dialog "Tombol Peta", di bidang "Aksi", pilih tindakan (fungsi) "Jalankan Skrip".
Tentukan keterangan untuk tombol. Warna untuk ikon tombol. Selesaikan pengaturan dengan mengklik Ok.

Mengotomatiskan Entri di SecureCRT Menggunakan Script

Catatan:

Panel dengan tombol adalah fungsionalitas yang sangat berguna.

1. Dimungkinkan, saat Masuk ke sesi tertentu, untuk menentukan panel mana yang dibuka ke tab ini secara default.

2. Dimungkinkan untuk mengatur tindakan yang telah ditentukan sebelumnya untuk tindakan standar dengan peralatan: tampilkan versi pertunjukan, tampilkan konfigurasi berjalan, simpan konfigurasi.

Mengotomatiskan Entri di SecureCRT Menggunakan Script
Tidak ada skrip yang dilampirkan ke tombol-tombol ini. Garis tindakan saja:

Mengotomatiskan Entri di SecureCRT Menggunakan Script
Pengaturan - sehingga saat beralih ke sesi, panel yang diperlukan dengan tombol terbuka di pengaturan sesi:

Mengotomatiskan Entri di SecureCRT Menggunakan Script
Masuk akal bagi pelanggan untuk menyiapkan skrip individual untuk Login dan masuk ke panel dengan perintah yang sering untuk vendor.

Mengotomatiskan Entri di SecureCRT Menggunakan Script
Saat Anda menekan tombol Go Cisco, panel beralih ke Bilah Tombol Cisco.

Mengotomatiskan Entri di SecureCRT Menggunakan Script

Contoh penggunaan skrip sederhana dan lanjutan. (Latihan dari kehidupan nyata.)

Skrip sederhana sudah cukup untuk hampir semua kesempatan. Tapi suatu kali saya perlu sedikit memperumit skrip - untuk mempercepat pekerjaan. Komplikasi ini hanya meminta data tambahan di kotak dialog dari pengguna.

Meminta data dari pengguna menggunakan kotak dialog

Saya memiliki 2 dalam skrip permintaan data. Ini adalah Nama Host dan oktet ke-4 dari alamat IP. Untuk melakukan tindakan ini - saya mencari di Google bagaimana melakukannya dan menemukannya di situs web resmi SecureCRT (vandyke). - fungsinya disebut prompt.

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

Bagian skrip ini meminta Hostname dan nomor dari oktet terakhir. Karena ada 15 buah peralatan. Dan datanya disajikan dalam sebuah tabel, lalu saya salin nilai-nilai dari tabel tersebut dan menempelkannya ke kotak dialog. Selanjutnya skrip bekerja secara mandiri.

Penyalinan FTP ke peralatan jaringan.

Skrip ini meluncurkan jendela perintah saya (shell) dan menyalin data melalui FTP. Pada akhirnya, tutup sesi. Tidak mungkin menggunakan notepad untuk ini, karena penyalinan membutuhkan waktu yang sangat lama dan data di buffer FTP tidak akan disimpan selama itu:

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

Memasukkan username/password menggunakan script

Di salah satu akses pelanggan ke peralatan jaringan langsung ditutup. Dimungkinkan untuk memasukkan peralatan dengan terlebih dahulu menghubungkan ke Gateway Default, dan dari itu kemudian ke peralatan yang terhubung dengannya. Klien ssh yang dibangun ke dalam perangkat lunak iOS/perangkat keras digunakan untuk terhubung. Karenanya, nama pengguna dan kata sandi diminta di konsol. Dengan skrip di bawah ini, nama pengguna dan kata sandi dimasukkan secara 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()

Catatan: Ada 2 skrip, satu untuk akun administrator, yang kedua untuk akun eSIGHT.

Skrip dengan kemampuan untuk menambahkan data secara langsung selama eksekusi skrip.

Tugasnya adalah menambahkan rute statis pada semua peralatan jaringan. Tetapi gateway ke Internet pada setiap peralatan berbeda (dan berbeda dari gateway default). Skrip berikut menampilkan tabel perutean, memasuki mode konfigurasi, tidak menulis perintah sampai akhir (alamat IP gateway ke Internet) - saya menambahkan bagian ini. Setelah saya menekan Enter, skrip melanjutkan untuk menjalankan perintah.

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

Dalam skrip ini, di baris: crt.Screen.Send("ip route 10.10.10.8 255.255.255.252 ") alamat IP gateway tidak ditambahkan dan tidak ada karakter carriage return. Skrip menunggu baris berikutnya dengan karakter "(config) #" Karakter ini muncul setelah saya memasukkan alamat ip dan masuk.

kesimpulan:

Saat menulis skrip dan menjalankannya, aturan harus diikuti: Waktu untuk menulis skrip dan mengeksekusi skrip tidak boleh lebih dari waktu yang secara teoritis dihabiskan untuk melakukan pekerjaan yang sama secara manual (salin / tempel dari notepad, menulis dan debugging buku pedoman untuk memungkinkan, menulis, dan men-debug skrip python). Artinya, penggunaan skrip harus menghemat waktu, dan tidak membuang waktu untuk otomatisasi proses satu kali (yaitu, ketika skrip unik dan tidak akan ada lagi pengulangan). Tetapi jika skrip itu unik dan otomatisasi dengan skrip dan menulis / men-debug skrip membutuhkan waktu lebih sedikit daripada melakukannya dengan cara lain (mungkin, jendela perintah), maka skrip adalah solusi terbaik.
Men-debug skrip. Skrip tumbuh secara bertahap, proses debug berlangsung pada perangkat pertama, kedua, ketiga, dan pada keempat skrip kemungkinan besar akan beroperasi penuh.

Menjalankan skrip (dengan memasukkan nama pengguna+kata sandi) dengan mouse biasanya lebih cepat daripada menyalin Nama Pengguna dan Kata Sandi dari notepad. Tapi tidak aman dari sudut pandang keamanan.
Contoh (nyata) lain saat menggunakan skrip: Anda tidak memiliki akses langsung ke peralatan jaringan. Tetapi ada kebutuhan untuk mengonfigurasi semua peralatan jaringan (bawa ke sistem pemantauan, konfigurasikan Nama Pengguna/kata sandi/snmpv3nama pengguna/kata sandi tambahan). Ada akses saat Anda pergi ke sakelar Inti, dari situ Anda membuka SSH ke peralatan lain. Mengapa Anda tidak bisa menggunakan Ansible. - Karena kami mengalami batasan jumlah sesi simultan yang diizinkan pada peralatan jaringan (baris vty 0 4, antarmuka pengguna vty 0 4) (pertanyaan lain adalah bagaimana memulai peralatan berbeda di Ansible dengan lompatan pertama SSH yang sama).

Skrip mengurangi waktu selama operasi yang lama - misalnya, menyalin file melalui FTP. Setelah penyalinan selesai, skrip segera mulai bekerja. Seseorang perlu melihat akhir penyalinan, lalu menyadari akhir penyalinan, lalu masukkan perintah yang sesuai. Skrip melakukannya secara objektif lebih cepat.

Skrip berlaku jika tidak mungkin menggunakan alat pengiriman data massal: Konsol. Atau ketika beberapa data untuk peralatan itu unik: nama host, alamat ip manajemen. Atau saat menulis program dan melakukan debug lebih sulit daripada menambahkan data yang diterima dari peralatan saat skrip sedang berjalan. - Contoh dengan skrip untuk menentukan rute, ketika setiap peralatan memiliki alamat IP sendiri dari penyedia Internet. (Rekan-rekan saya menulis skrip seperti itu - ketika pembicaraan DMVPN lebih dari 3. Itu perlu untuk mengubah pengaturan DMVPN).

Studi Kasus: Mengonfigurasi Pengaturan Awal pada Switch Baru Menggunakan Port Konsol:

A. Memasang kabel konsol ke perangkat.
B. Jalankan skrip
B. Menunggu eksekusi skrip
D. Memasang kabel konsol ke perangkat berikutnya.
E. Jika sakelar bukan yang terakhir, lanjutkan ke langkah B.

Sebagai hasil dari pekerjaan skrip:

  • kata sandi awal diatur pada peralatan.
  • Nama pengguna dimasukkan
  • alamat IP unik perangkat dimasukkan.

PS operasi harus diulang. Karena ssh Default tidak dikonfigurasi/dinonaktifkan. (Ya, ini adalah kesalahan saya.)

Sumber yang digunakan.

1. Tentang membuat skrip
2. Contoh skrip

Lampiran 1: Contoh skrip.


Contoh skrip panjang, dengan dua kueri: Nama host dan alamat IP. Itu dibuat untuk peralatan presetting melalui konsol (9600 baud). Dan juga menyiapkan koneksi peralatan ke 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 seperti itu biasanya tidak diperlukan, tetapi jumlah perlengkapannya adalah 15 buah. Memungkinkan penyiapan lebih cepat. Lebih cepat mengatur peralatan menggunakan jendela Perintah SecureCRT.

Menyiapkan akun untuk ssh.

Contoh lain. Konfigurasi juga melalui konsol.

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


Tentang SecureCRT:Perangkat lunak berbayar: mulai $99 (harga terkecil hanya untuk SecureCRT selama satu tahun)
Website resmi
Lisensi perangkat lunak dibeli sekali, dengan dukungan (untuk pembaruan), kemudian perangkat lunak digunakan dengan lisensi ini untuk waktu yang tidak terbatas.

Bekerja pada sistem operasi Mac OS X dan Windows.

Ada dukungan skrip (artikel ini)
Ada Jendela Perintah
Sistem Operasi Serial/Telnet/SSH1/SSH2/Shell

Sumber: www.habr.com