اسڪرپٽ استعمال ڪندي SecureCRT ۾ خودڪار داخلا

نيٽ ورڪ انجنيئر اڪثر ڪري ڪنسول ڏانهن نوٽ پيڊ کان ڪجهه ٽڪرا ڪاپي / پيسٽ ڪرڻ جي ڪم کي منهن ڏيندا آهن. توهان کي عام طور تي ڪيترن ئي پيٽرولن کي نقل ڪرڻو پوندو: يوزرنيم/پاسورڊ ۽ ٻيو ڪجهه. اسڪرپٽ جو استعمال توهان کي هن عمل کي تيز ڪرڻ جي اجازت ڏئي ٿو. پر اسڪرپٽ لکڻ ۽ اسڪرپٽ تي عمل ڪرڻ جي ڪمن ۾ ڪل وقت دستي ترتيب جي ڀيٽ ۾ گھٽ ٿيڻ گهرجي، ٻي صورت ۾ اسڪرپٽ بيڪار آهن.

هي مضمون ڇا لاءِ آهي؟ هي آرٽيڪل فاسٽ اسٽارٽ سيريز مان آهي ۽ مقصد نيٽ ورڪ انجنيئرن جي وقت کي بچائڻ آهي جڏهن ڪيترن ئي ڊوائيسز تي سامان (اڪيلو ڪم) قائم ڪرڻ. استعمال ڪري ٿو SecureCRT سافٽ ويئر ۽ بلٽ ان اسڪرپٽ ايگزيڪيوشن ڪارڪردگي.

Contents

تعارف

SecureCRT پروگرام ۾ هڪ تعمير ٿيل اسڪرپٽ تي عمل ڪرڻ وارو ميڪانيزم آهي. ٽرمينل اسڪرپٽ ڇا لاءِ آهن؟

  • خودڪار I/O، ۽ گھٽ ۾ گھٽ I/O جي تصديق.
  • معمولي ڪمن جي عمل کي تيز ڪرڻ - سامان جي سيٽنگن جي وچ ۾ رڪاوٽ کي گھٽائڻ. (ساڳئي هارڊويئر تي ڪاپي/ماضي جي عملن کي انجام ڏيڻ لاءِ وقت جي ڪري رڪاوٽن جي حقيقت ۾ گهٽتائي، هارڊويئر تي لاڳو ٿيڻ لاءِ 3 يا وڌيڪ ڪمانڊ ٽڪرن سان.)

هي دستاويز ڪمن تي مشتمل آهي:

  • سادي اسڪرپٽ جي تخليق.
  • SecureCRT تي هلندڙ اسڪرپٽ.
  • سادي ۽ جديد اسڪرپٽ استعمال ڪرڻ جا مثال. (حقيقي زندگي کان مشق.)

سادي اسڪرپٽ جي تخليق.

آسان ترين اسڪرپٽ صرف ٻه حڪم استعمال ڪن ٿا، موڪليو ۽ WaitForString. هي ڪارڪردگي 90٪ (يا وڌيڪ) ڪمن لاء ڪافي آهي.

اسڪرپٽ Python، JS، VBS (Visual Basic)، Perl، وغيره ۾ ڪم ڪري سگھن ٿيون.

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

عام طور تي هڪ فائل "*.py" جي واڌ سان

ايس بي بي

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

عام طور تي "*.vbs" واڌ سان گڏ فائل

اسڪرپٽ انٽري استعمال ڪندي اسڪرپٽ ٺاھيو.

توهان کي اسڪرپٽ لکڻ جي عمل کي خودڪار ڪرڻ جي اجازت ڏئي ٿي. توهان هڪ اسڪرپٽ لکڻ شروع ڪيو. SecureCRT حڪمن کي رڪارڊ ڪري ٿو ۽ بعد ۾ هارڊويئر جواب ۽ ڏيکاري ٿو ختم ٿيل اسڪرپٽ توهان لاءِ.

اي. اسڪرپٽ لکڻ شروع ڪريو:
محفوظ سي آر ٽي مينيو => اسڪرپٽ => رڪارڊنگ اسڪرپٽ شروع ڪريو
ب. ڪنسول سان عمل ڪريو (CLI ۾ ٺاھ جوڙ جا مرحلا انجام ڏيو).
وي. اسڪرپٽ لکڻ ختم ڪريو:
محفوظ سي آر ٽي مينيو => اسڪرپٽ => اسٽاپ رڪارڊنگ اسڪرپٽ…
اسڪرپٽ فائل محفوظ ڪريو.

executed حڪمن جا مثال ۽ محفوظ ٿيل اسڪرپٽ:

اسڪرپٽ استعمال ڪندي SecureCRT ۾ خودڪار داخلا

SecureCRT تي هلندڙ اسڪرپٽ.

اسڪرپٽ ٺاهڻ/ايڊٽ ڪرڻ کان پوءِ، هڪ فطري سوال پيدا ٿئي ٿو: اسڪرپٽ کي ڪيئن لاڳو ڪجي؟
هتي ڪيترائي طريقا آھن:

  • اسڪرپٽ مينيو مان دستي طور تي هلندي
  • ڪنيڪشن کان پوءِ خودڪار شروع (لاگ ان اسڪرپٽ)
  • اسڪرپٽ استعمال ڪرڻ کان سواء خودڪار لاگ ان
  • سيڪيور سي آر ٽي ۾ بٽڻ سان دستي طور تي ٽارگيٽ ڪرڻ (هڪ بٽڻ اڃا تائين ٺاهيو ويو آهي ۽ SecureCRT ۾ شامل ڪيو ويو آهي)

اسڪرپٽ مينيو مان دستي طور تي هلندي

SecureCRT مينيو => اسڪرپٽ => رن...
- آخري 10 لکتون ياد آهن ۽ جلدي لانچ لاءِ دستياب آهن:
SecureCRT مينيو => اسڪرپٽ => 1 "اسڪرپٽ فائل جو نالو"
SecureCRT مينيو => اسڪرپٽ => 2 "اسڪرپٽ فائل جو نالو"
SecureCRT مينيو => اسڪرپٽ => 3 "اسڪرپٽ فائل جو نالو"
SecureCRT مينيو => اسڪرپٽ => 4 "اسڪرپٽ فائل جو نالو"
SecureCRT مينيو => اسڪرپٽ => 5 "اسڪرپٽ فائل جو نالو"

ڪنيڪشن کان پوءِ خودڪار شروع (لاگ ان اسڪرپٽ)

خودڪار لاگنگ اسڪرپٽ سيٽنگون محفوظ ٿيل سيشن لاءِ ترتيب ڏنل آهن: ڪنيڪشن => لاگ ان عمل => لاگ ان اسڪرپٽ

اسڪرپٽ استعمال ڪندي SecureCRT ۾ خودڪار داخلا

اسڪرپٽ استعمال ڪرڻ کان سواء خودڪار لاگ ان

اهو ممڪن آهي ته خودڪار طريقي سان پاسورڊ جي استعمال ڪندڙ جو نالو لکندڙ لکڻ کان سواء، صرف SecureCRT جي تعمير ٿيل ڪارڪردگي کي استعمال ڪندي. ڪنيڪشن سيٽنگن ۾ “ڪنيڪشن” => لاگ ان عمل => لاگ ان خودڪار ڪريو - توھان کي گھڻا بنڊل ڀرڻ جي ضرورت آھي - جنھن جو مطلب آھي جوڙو: "متوقع متن" + "ھن متن ڏانھن موڪليل اکر" اهڙا ڪيترائي جوڙا ٿي سگھن ٿا. (مثال: پهريون جوڙو يوزر نالي جي انتظار ۾، ٻيو پاس ورڊ جي انتظار ۾، ٽيون جوڙو پرائيليجڊ موڊ پرامپٽ جو انتظار، چوٿون جوڙو استحقاق واري موڊ پاسورڊ لاءِ.)

Cisco ASA تي خودڪار لاگ ان جو مثال:

اسڪرپٽ استعمال ڪندي SecureCRT ۾ خودڪار داخلا

سيڪيور سي آر ٽي ۾ بٽڻ سان دستي طور تي ٽارگيٽ ڪرڻ (هڪ بٽڻ اڃا تائين ٺاهيو ويو آهي ۽ SecureCRT ۾ شامل ڪيو ويو آهي)

SecureCRT ۾ توهان هڪ بٽڻ تي اسڪرپٽ تفويض ڪري سگهو ٿا. بٽڻ کي خاص طور تي هن مقصد لاء ٺهيل پينل ۾ شامل ڪيو ويو آهي.

اي. انٽرفيس ۾ پينل شامل ڪرڻ: SecureCRT Menu => View => بٽڻ بار
ب. پينل ۾ بٽڻ شامل ڪريو ۽ اسڪرپٽ شامل ڪريو. - بٽڻ واري بار تي ساڄي ڪلڪ ڪريو ۽ چونڊيو "نئون بٽڻ ..." جي حوالي سان مينيو مان.
وي. "نقشي بٽڻ" جي ڊائلاگ باڪس ۾، "ايڪشن" فيلڊ ۾، "رن اسڪرپٽ" عمل (فنڪشن) چونڊيو.
بٽڻ لاءِ ڪيپشن بيان ڪريو. بٽڻ جي آئڪن لاءِ رنگ. ٺيڪ تي ڪلڪ ڪندي سيٽنگون ختم ڪريو.

اسڪرپٽ استعمال ڪندي SecureCRT ۾ خودڪار داخلا

نوٽ:

بٽڻ سان پينل تمام مفيد ڪارڪردگي آهي.

1. اهو ممڪن آهي، جڏهن ڪنهن مخصوص سيشن ۾ لاگ ان ڪيو وڃي، اهو بيان ڪرڻ لاءِ ته ڪهڙي پينل کي ڊفالٽ طور هن ٽيب کي کوليو وڃي.

2. اهو ممڪن آهي ته اڳواٽ بيان ڪيل عملن لاءِ سامان سان معياري عملن لاءِ: ڏيکاريو ورزن ڏيکاريو، ڏيکاريو رننگ ترتيب، محفوظ ڪريو ترتيب.

اسڪرپٽ استعمال ڪندي SecureCRT ۾ خودڪار داخلا
انهن بٽڻن سان ڪا به رسم الخط جڙيل ناهي. صرف عمل لائن:

اسڪرپٽ استعمال ڪندي SecureCRT ۾ خودڪار داخلا
سيٽنگ - انهي ڪري ته جڏهن سيشن ۾ تبديل ٿي وڃي، بٽڻ سان ضروري پينل سيشن سيٽنگن ۾ کلي ٿو:

اسڪرپٽ استعمال ڪندي SecureCRT ۾ خودڪار داخلا
اهو ڪسٽمر لاءِ احساس رکي ٿو لاگ ان لاءِ انفرادي اسڪرپٽ قائم ڪرڻ ۽ وينڊر لاءِ بار بار حڪمن سان پينل ڏانهن وڃو.

اسڪرپٽ استعمال ڪندي SecureCRT ۾ خودڪار داخلا
جڏهن توهان Go Cisco بٽڻ کي دٻايو ٿا، پينل سِسکو بٽڻ بار ڏانهن سوئچ ڪري ٿو.

اسڪرپٽ استعمال ڪندي SecureCRT ۾ خودڪار داخلا

سادي ۽ جديد اسڪرپٽ استعمال ڪرڻ جا مثال. (حقيقي زندگي کان مشق.)

سادي اسڪرپٽ تقريبن سڀني موقعن لاء ڪافي آهن. پر هڪ دفعو مون کي اسڪرپٽ کي ٿورو پيچيده ڪرڻ جي ضرورت هئي - ڪم کي تيز ڪرڻ لاء. هي پيچيدگي صرف صارف کان هڪ ڊائلاگ باڪس ۾ اضافي ڊيٽا جي درخواست ڪئي.

هڪ ڊائلاگ باڪس استعمال ڪندي صارف کان ڊيٽا جي درخواست

مون وٽ ڊيٽا جي درخواست جي اسڪرپٽ ۾ 2 هئا. هي هوسٽ جو نالو ۽ IP پتي جو 4 آڪٽيٽ آهي. هن عمل کي انجام ڏيڻ لاءِ - مون گوگل ڪيو ته اهو ڪيئن ڪجي ۽ ان کي مليا سرڪاري ويب سائيٽ SecureCRT (vandyke). - ڪارڪردگي کي فوري طور سڏيو ويندو آهي.

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

اسڪرپٽ جو هي حصو آخري آڪٽٽ کان ميزبان نالو ۽ نمبرن لاءِ پڇيو. جتان سامان جا 15 ٽڪر هئا. ۽ ڊيٽا کي ٽيبل ۾ پيش ڪيو ويو، پوء مون ٽيبل مان قيمتون نقل ڪيو ۽ ان کي ڊائلاگ باڪس ۾ پيسٽ ڪيو. ان کان علاوه رسم الخط آزاديءَ سان ڪم ڪيو.

نيٽ ورڪ سامان ڏانهن ايف ٽي پي نقل.

هن اسڪرپٽ منهنجي ڪمانڊ ونڊو (شيل) شروع ڪئي ۽ ايف ٽي پي ذريعي ڊيٽا کي نقل ڪيو. آخر ۾، سيشن بند ڪريو. ان لاءِ نوٽ پيڊ استعمال ڪرڻ ناممڪن آهي، ڇاڪاڻ ته ڪاپي ڪرڻ ۾ تمام گهڻو وقت لڳندو آهي ۽ ايف ٽي پي بفر ۾ ڊيٽا ان وقت تائين محفوظ نه ٿيندي:

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

اسڪرپٽ استعمال ڪندي صارف نالو/پاسورڊ داخل ڪريو

ھڪڙي صارف تي نيٽ ورڪ سامان تائين رسائي سڌو سنئون بند ٿي وئي. اهو ممڪن هو ته پهرين ڊفالٽ گيٽ وي سان ڳنڍڻ سان سامان ۾ داخل ٿيڻ، ۽ ان کان پوء ان سان ڳنڍيل سامان تائين. IOS/هارڊويئر سافٽ ويئر ۾ ٺهيل ssh ڪلائنٽ ڳنڍڻ لاءِ استعمال ڪيو ويو. مطابق، صارف نالو ۽ پاسورڊ کنسول ۾ درخواست ڪئي وئي. هيٺ ڏنل اسڪرپٽ سان، صارف جو نالو ۽ پاسورڊ خودڪار طريقي سان داخل ڪيو ويو:

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

نوٽ: 2 اسڪرپٽ هئا، هڪ ايڊمنسٽريٽر اڪائونٽ لاءِ، ٻيو eSIGHT اڪائونٽ لاءِ.

اسڪرپٽ جي عمل جي دوران سڌو سنئون ڊيٽا کي شامل ڪرڻ جي صلاحيت سان.

ڪم سڀني نيٽ ورڪ سامان تي هڪ جامد رستو شامل ڪرڻ هو. پر هر سامان تي انٽرنيٽ جو گيٽ مختلف هو (۽ اهو ڊفالٽ گيٽ وي کان مختلف هو). هيٺ ڏنل اسڪرپٽ روٽنگ ٽيبل ڏيکاري ٿي، ترتيب واري موڊ ۾ داخل ٿيو، حڪم کي آخر ۾ نه لکيو (انٽرنيٽ جي گيٽ وي جو IP پتو) - مون هي حصو شامل ڪيو. انٽر کي دٻائڻ کان پوءِ، اسڪرپٽ ڪمانڊ تي عمل ڪرڻ جاري رکي.

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

هن اسڪرپٽ ۾، لائن ۾: crt.Screen.Send("ip route 10.10.10.8 255.255.255.252") گيٽ وي جو IP پتو شامل نه ڪيو ويو آهي ۽ نه ئي گاڏي موٽڻ وارو ڪردار آهي. اسڪرپٽ اکرن سان ايندڙ لائن جو انتظار ڪري رهيو آهي "(config) #" اهي اکر ظاهر ٿيا مون کان پوءِ آئي پي ايڊريس داخل ڪيو ۽ داخل ٿيو.

نتيجو:

جڏهن هڪ اسڪرپٽ لکڻ ۽ ان تي عمل ڪرڻ، قاعدي جي پيروي ڪرڻ گهرجي: هڪ اسڪرپٽ لکڻ ۽ اسڪرپٽ تي عمل ڪرڻ جو وقت ڪڏهن به نظرياتي طور تي ساڳيو ڪم دستي طور تي ڪرڻ ۾ خرچ ٿيل وقت کان وڌيڪ نه هجڻ گهرجي (نوٽ پيڊ مان ڪاپي / پيسٽ ڪرڻ، لکڻ ۽ ڊيبگنگ پٿون اسڪرپٽ جواب ڏيڻ، لکڻ ۽ ڊيبگ ڪرڻ لاءِ هڪ راند جو ڪتاب). اهو آهي، اسڪرپٽ جي استعمال کي وقت بچائڻ گهرجي، ۽ پروسيس جي هڪ وقت جي خودڪار طريقي تي وقت ضايع نه ڪرڻ گهرجي (يعني، جڏهن اسڪرپٽ منفرد آهي ۽ وڌيڪ ورجائي نه هوندي). پر جيڪڏهن اسڪرپٽ منفرد آهي ۽ اسڪرپٽ سان آٽوميشن آهي ۽ اسڪرپٽ کي لکڻ/ ڊيبگ ڪرڻ ۾ ان کي ڪنهن ٻئي طريقي سان ڪرڻ کان گهٽ وقت لڳندو آهي (اننسيبل، ڪمانڊ ونڊو) ته پوءِ اسڪرپٽ بهترين حل آهي.
اسڪرپٽ ڊيبگ ڪرڻ. اسڪرپٽ بتدريج وڌندو آهي، ڊيبگنگ پهرين، سيڪنڊ، ٽئين ڊوائيس تي رن-ان تي ٿيندي آهي، ۽ چوٿين تائين اسڪرپٽ گهڻو ڪري مڪمل طور تي آپريشنل هوندو.

مائوس سان اسڪرپٽ هلائڻ (يوزرنيم + پاسورڊ داخل ڪندي) عام طور تي نوٽ پيڊ مان يوزرنيم ۽ پاسورڊ ڪاپي ڪرڻ کان وڌيڪ تيز آهي. پر سيڪيورٽي نقطي نظر کان محفوظ ناهي.
ٻيو (حقيقي) مثال جڏهن اسڪرپٽ استعمال ڪندي: توهان وٽ نيٽ ورڪ سامان تائين سڌي رسائي نه آهي. پر سڀني نيٽ ورڪ سامان کي ترتيب ڏيڻ جي ضرورت آهي (ان کي مانيٽرنگ سسٽم ۾ آڻيو، هڪ اضافي يوزرنيم/پاسورڊ/snmpv3username/password ترتيب ڏيو). اتي رسائي آهي جڏهن توهان ڪور سوئچ ڏانهن وڃو، ان مان توهان SSH کوليو ٻين سامان ڏانهن. توهان جوابي استعمال ڇو نٿا ڪري سگهو. - ڇاڪاڻ ته اسان نيٽ ورڪ سامان تي هڪ ئي وقت ۾ اجازت ڏنل سيشن جي تعداد تي حد تائين هلون ٿا (لائن vty 0 4، يوزر-انٽرفيس vty 0 4) (ٻيو سوال اهو آهي ته مختلف سامان کي ڪيئن شروع ڪجي ساڳئي SSH پهرين هاپ سان جوابي ۾).

اسڪرپٽ ڊگهي آپريشن دوران وقت گھٽائي ٿي - مثال طور، ايف ٽي پي ذريعي فائلن کي نقل ڪرڻ. ڪاپي مڪمل ٿيڻ کان پوء، اسڪرپٽ فوري طور تي ڪم ڪرڻ شروع ڪري ٿو. هڪ شخص کي ڪاپي جي پڇاڙي ڏسڻ جي ضرورت پوندي، پوء ڪاپي جي آخر کي محسوس ڪرڻ، پوء مناسب حڪم داخل ڪريو. اسڪرپٽ ان کي معقول طور تي تيز ڪري ٿو.

اسڪرپٽ لاڳو ٿين ٿيون جتي ماس ڊيٽا پهچائڻ جا اوزار استعمال ڪرڻ ناممڪن آهي: ڪنسول. يا جڏهن سامان لاءِ ڪجهه ڊيٽا منفرد آهي: هوسٽ جو نالو، انتظام IP پتو. يا جڏهن هڪ پروگرام لکڻ ۽ ڊيبگنگ ڪرڻ ان کان وڌيڪ ڏکيو آهي سامان مان حاصل ڪيل ڊيٽا شامل ڪرڻ کان جڏهن اسڪرپٽ هلندي آهي. - ھڪڙو مثال ھڪڙي رسم الخط سان ھڪڙي رستي کي بيان ڪرڻ لاء، جڏھن ھر سامان جو انٽرنيٽ فراهم ڪندڙ جو پنھنجو IP پتو آھي. (منهنجا ساٿي اهڙا اسڪرپٽ لکيا - جڏهن DMVPN ڳالهائيندڙ 3 کان مٿي هئي. اهو ضروري هو ته DMVPN سيٽنگون تبديل ڪرڻ).

ڪيس اسٽڊي: ڪنسول بندرگاهن کي استعمال ڪندي نئين سوئچ تي شروعاتي سيٽنگون ترتيب ڏيڻ:

A. ڪنسول ڪيبل کي ڊوائيس ۾ لڳايو.
B. اسڪرپٽ هلايو
B. اسڪرپٽ جي عمل جي انتظار ۾
D. ڪنسول ڪيبل کي ايندڙ ڊوائيس ۾ لڳايو.
E. جيڪڏهن سوئچ آخري نه آهي، قدم B ڏانهن وڃو.

رسم الخط جي ڪم جي نتيجي ۾:

  • شروعاتي پاسورڊ سامان تي مقرر ڪيو ويو آهي.
  • استعمال ڪندڙ جو نالو داخل ڪيو ويو
  • ڊوائيس جو منفرد IP پتو داخل ڪيو ويو آهي.

پي ايس آپريشن کي بار بار ڪرڻو پيو. ڇو ته ڊفالٽ ssh ترتيب/بند ٿيل نه ھو. (ها، اها منهنجي غلطي آهي.)

استعمال ٿيل ذريعن.

1. اسڪرپٽ ٺاهڻ بابت
2. اسڪرپٽ جا مثال

ضميمو 1: نموني لکتون.


ھڪڙي ڊگھي اسڪرپٽ جو ھڪڙو مثال، ٻن سوالن سان: ھوسٽ جو نالو ۽ IP پتو. اهو کنسول (9600 baud) ذريعي سامان جي ترتيب ڏيڻ لاء ٺهيل هو. ۽ پڻ تيار ڪرڻ لاء سامان جو ڪنيڪشن نيٽ ورڪ سان.

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

اهڙيون اسڪرپٽ عام طور تي گهربل نه آهن، پر سامان جو مقدار 15 پي سي آهي. اجازت ڏني وئي تيز سيٽ اپ. اهو SecureCRT ڪمانڊ ونڊو استعمال ڪندي سامان کي ترتيب ڏيڻ لاء تيز هو.

ssh لاءِ اڪائونٽ قائم ڪرڻ.

ٻيو مثال. ترتيب پڻ ڪنسول ذريعي آهي.

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


SecureCRT بابت:ادا ڪيل سافٽ ويئر: $99 کان (ننڍي قيمت صرف هڪ سال لاءِ SecureCRT لاءِ آهي)
سرڪاري ويب سائيٽ
هڪ سافٽ ويئر لائسنس هڪ ڀيرو خريد ڪيو ويندو آهي، سپورٽ سان (اپڊيٽ ڪرڻ لاءِ)، پوءِ سافٽ ويئر هن لائسنس سان لامحدود وقت لاءِ استعمال ڪيو ويندو آهي.

Mac OS X ۽ ونڊوز آپريٽنگ سسٽم تي ڪم ڪري ٿو.

اتي اسڪرپٽ سپورٽ آهي (هي آرٽيڪل)
ڪري سگهو ٿا حڪم ونڊو
سيريل/Telnet/SSH1/SSH2/شيل آپريٽنگ سسٽم

جو ذريعو: www.habr.com