ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳನ್ನು ಬಳಸಿಕೊಂಡು SecureCRT ನಲ್ಲಿ ಸ್ವಯಂಚಾಲಿತ ಪ್ರವೇಶ

ನೆಟ್‌ವರ್ಕ್ ಎಂಜಿನಿಯರ್‌ಗಳು ಸಾಮಾನ್ಯವಾಗಿ ನೋಟ್‌ಪ್ಯಾಡ್‌ನಿಂದ ಕನ್ಸೋಲ್‌ಗೆ ಕೆಲವು ತುಣುಕುಗಳನ್ನು ನಕಲಿಸುವ/ಅಂಟಿಸುವ ಕೆಲಸವನ್ನು ಎದುರಿಸುತ್ತಾರೆ. ನೀವು ಸಾಮಾನ್ಯವಾಗಿ ಹಲವಾರು ನಿಯತಾಂಕಗಳನ್ನು ನಕಲಿಸಬೇಕಾಗುತ್ತದೆ: ಬಳಕೆದಾರಹೆಸರು/ಪಾಸ್ವರ್ಡ್ ಮತ್ತು ಯಾವುದೋ. ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳ ಬಳಕೆಯು ಈ ಪ್ರಕ್ರಿಯೆಯನ್ನು ವೇಗಗೊಳಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ. ಆದರೆ ಸ್ಕ್ರಿಪ್ಟ್ ಬರೆಯುವ ಮತ್ತು ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುವ ಕಾರ್ಯಗಳು ಹಸ್ತಚಾಲಿತ ಕಾನ್ಫಿಗರೇಶನ್‌ಗಿಂತ ಕಡಿಮೆ ಸಮಯವನ್ನು ತೆಗೆದುಕೊಳ್ಳಬೇಕು, ಇಲ್ಲದಿದ್ದರೆ ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳು ನಿಷ್ಪ್ರಯೋಜಕವಾಗಿರುತ್ತವೆ.

ಈ ಲೇಖನ ಯಾವುದಕ್ಕಾಗಿ? ಈ ಲೇಖನವು ಫಾಸ್ಟ್ ಸ್ಟಾರ್ಟ್ ಸರಣಿಯಿಂದ ಬಂದಿದೆ ಮತ್ತು ಬಹು ಸಾಧನಗಳಲ್ಲಿ ಉಪಕರಣಗಳನ್ನು (ಏಕ ಕಾರ್ಯ) ಹೊಂದಿಸುವಾಗ ನೆಟ್‌ವರ್ಕ್ ಎಂಜಿನಿಯರ್‌ಗಳ ಸಮಯವನ್ನು ಉಳಿಸುವ ಗುರಿಯನ್ನು ಹೊಂದಿದೆ. SecureCRT ಸಾಫ್ಟ್‌ವೇರ್ ಮತ್ತು ಅಂತರ್ನಿರ್ಮಿತ ಸ್ಕ್ರಿಪ್ಟ್ ಎಕ್ಸಿಕ್ಯೂಶನ್ ಕಾರ್ಯವನ್ನು ಬಳಸುತ್ತದೆ.

ಪರಿವಿಡಿ

ಪರಿಚಯ

SecureCRT ಪ್ರೋಗ್ರಾಂ ಬಾಕ್ಸ್‌ನ ಹೊರಗೆ ಅಂತರ್ನಿರ್ಮಿತ ಸ್ಕ್ರಿಪ್ಟ್ ಎಕ್ಸಿಕ್ಯೂಶನ್ ಯಾಂತ್ರಿಕತೆಯನ್ನು ಹೊಂದಿದೆ. ಟರ್ಮಿನಲ್ ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳು ಯಾವುದಕ್ಕಾಗಿ?

  • ಸ್ವಯಂಚಾಲಿತ I/O, ಮತ್ತು ಕನಿಷ್ಠ I/O ಮೌಲ್ಯೀಕರಣ.
  • ದಿನನಿತ್ಯದ ಕಾರ್ಯಗಳ ಕಾರ್ಯಗತಗೊಳಿಸುವಿಕೆಯನ್ನು ವೇಗಗೊಳಿಸಿ - ಸಲಕರಣೆಗಳ ಸೆಟ್ಟಿಂಗ್ಗಳ ನಡುವಿನ ವಿರಾಮಗಳನ್ನು ಕಡಿಮೆ ಮಾಡಿ. (ಅದೇ ಹಾರ್ಡ್‌ವೇರ್‌ನಲ್ಲಿ ನಕಲು/ಹಿಂದಿನ ಕ್ರಿಯೆಗಳನ್ನು ನಿರ್ವಹಿಸಲು ಸಮಯದಿಂದ ಉಂಟಾಗುವ ವಿರಾಮಗಳ ವಾಸ್ತವಿಕ ಕಡಿತ, ಹಾರ್ಡ್‌ವೇರ್‌ಗೆ 3 ಅಥವಾ ಹೆಚ್ಚಿನ ಕಮಾಂಡ್ ತುಣುಕುಗಳನ್ನು ಅನ್ವಯಿಸಲಾಗುತ್ತದೆ.)

ಈ ಡಾಕ್ಯುಮೆಂಟ್ ಕಾರ್ಯಗಳನ್ನು ಒಳಗೊಂಡಿದೆ:

  • ಸರಳ ಲಿಪಿಗಳ ರಚನೆ.
  • SecureCRT ನಲ್ಲಿ ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳನ್ನು ಚಾಲನೆ ಮಾಡಲಾಗುತ್ತಿದೆ.
  • ಸರಳ ಮತ್ತು ಸುಧಾರಿತ ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳನ್ನು ಬಳಸುವ ಉದಾಹರಣೆಗಳು. (ನೈಜ ಜೀವನದಿಂದ ಅಭ್ಯಾಸ ಮಾಡಿ.)

ಸರಳ ಲಿಪಿಗಳ ರಚನೆ.

ಸರಳವಾದ ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳು ಕೇವಲ ಎರಡು ಆಜ್ಞೆಗಳನ್ನು ಬಳಸುತ್ತವೆ, ಕಳುಹಿಸು ಮತ್ತು WaitForString. ನಿರ್ವಹಿಸಿದ ಕಾರ್ಯಗಳಲ್ಲಿ 90% (ಅಥವಾ ಹೆಚ್ಚಿನ) ಈ ಕಾರ್ಯವು ಸಾಕಾಗುತ್ತದೆ.

ಪೈಥಾನ್, ಜೆಎಸ್, ವಿಬಿಎಸ್ (ವಿಷುಯಲ್ ಬೇಸಿಕ್), ಪರ್ಲ್, ಇತ್ಯಾದಿಗಳಲ್ಲಿ ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳು ಕೆಲಸ ಮಾಡಬಹುದು.

ಪೈಥಾನ್

# $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 ಆಜ್ಞೆಗಳನ್ನು ಮತ್ತು ನಂತರದ ಹಾರ್ಡ್‌ವೇರ್ ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು ದಾಖಲಿಸುತ್ತದೆ ಮತ್ತು ನಿಮಗಾಗಿ ಸಿದ್ಧಪಡಿಸಿದ ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ಪ್ರದರ್ಶಿಸುತ್ತದೆ.

ಎ. ಸ್ಕ್ರಿಪ್ಟ್ ಬರೆಯಲು ಪ್ರಾರಂಭಿಸಿ:
SecureCRT ಮೆನು => ಸ್ಕ್ರಿಪ್ಟ್ => ರೆಕಾರ್ಡಿಂಗ್ ಸ್ಕ್ರಿಪ್ಟ್ ಪ್ರಾರಂಭಿಸಿ
ಬಿ. ಕನ್ಸೋಲ್‌ನೊಂದಿಗೆ ಕ್ರಿಯೆಗಳನ್ನು ನಿರ್ವಹಿಸಿ (CLI ನಲ್ಲಿ ಕಾನ್ಫಿಗರೇಶನ್ ಹಂತಗಳನ್ನು ನಿರ್ವಹಿಸಿ).
ವಿ. ಸ್ಕ್ರಿಪ್ಟ್ ಬರೆಯುವುದನ್ನು ಮುಗಿಸಿ:
SecureCRT ಮೆನು => ಸ್ಕ್ರಿಪ್ಟ್ => ಸ್ಕ್ರಿಪ್ಟ್ ರೆಕಾರ್ಡಿಂಗ್ ನಿಲ್ಲಿಸಿ...
ಸ್ಕ್ರಿಪ್ಟ್ ಫೈಲ್ ಅನ್ನು ಉಳಿಸಿ.

ಕಾರ್ಯಗತಗೊಳಿಸಿದ ಆಜ್ಞೆಗಳು ಮತ್ತು ಉಳಿಸಿದ ಸ್ಕ್ರಿಪ್ಟ್ ಉದಾಹರಣೆ:

ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳನ್ನು ಬಳಸಿಕೊಂಡು SecureCRT ನಲ್ಲಿ ಸ್ವಯಂಚಾಲಿತ ಪ್ರವೇಶ

SecureCRT ನಲ್ಲಿ ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳನ್ನು ಚಾಲನೆ ಮಾಡಲಾಗುತ್ತಿದೆ.

ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ರಚಿಸಿದ/ಸಂಪಾದಿಸಿದ ನಂತರ, ಸಹಜವಾದ ಪ್ರಶ್ನೆ ಉದ್ಭವಿಸುತ್ತದೆ: ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ಹೇಗೆ ಅನ್ವಯಿಸುವುದು?
ಹಲವಾರು ಮಾರ್ಗಗಳಿವೆ:

  • ಸ್ಕ್ರಿಪ್ಟ್ ಮೆನುವಿನಿಂದ ಹಸ್ತಚಾಲಿತವಾಗಿ ರನ್ ಆಗುತ್ತಿದೆ
  • ಸಂಪರ್ಕದ ನಂತರ ಸ್ವಯಂಚಾಲಿತ ಪ್ರಾರಂಭ (ಲಾಗಿನ್ ಸ್ಕ್ರಿಪ್ಟ್)
  • ಸ್ಕ್ರಿಪ್ಟ್ ಬಳಸದೆಯೇ ಸ್ವಯಂಚಾಲಿತ ಲಾಗಿನ್
  • SecureCRT ನಲ್ಲಿ ಬಟನ್‌ನೊಂದಿಗೆ ಹಸ್ತಚಾಲಿತವಾಗಿ ಪ್ರಚೋದಿಸಲಾಗುತ್ತಿದೆ (ಒಂದು ಬಟನ್ ಅನ್ನು ಇನ್ನೂ ರಚಿಸಬೇಕಾಗಿದೆ ಮತ್ತು SecureCRT ಗೆ ಸೇರಿಸಬೇಕಾಗಿದೆ)

ಸ್ಕ್ರಿಪ್ಟ್ ಮೆನುವಿನಿಂದ ಹಸ್ತಚಾಲಿತವಾಗಿ ರನ್ ಆಗುತ್ತಿದೆ

SecureCRT ಮೆನು => ಸ್ಕ್ರಿಪ್ಟ್ => ರನ್ ಮಾಡಿ...
- ಕೊನೆಯ 10 ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳು ನೆನಪಿನಲ್ಲಿರುತ್ತವೆ ಮತ್ತು ತ್ವರಿತ ಉಡಾವಣೆಗಾಗಿ ಲಭ್ಯವಿದೆ:
SecureCRT ಮೆನು => ಸ್ಕ್ರಿಪ್ಟ್ => 1 "ಸ್ಕ್ರಿಪ್ಟ್ ಫೈಲ್ ಹೆಸರು"
SecureCRT ಮೆನು => ಸ್ಕ್ರಿಪ್ಟ್ => 2 "ಸ್ಕ್ರಿಪ್ಟ್ ಫೈಲ್ ಹೆಸರು"
SecureCRT ಮೆನು => ಸ್ಕ್ರಿಪ್ಟ್ => 3 "ಸ್ಕ್ರಿಪ್ಟ್ ಫೈಲ್ ಹೆಸರು"
SecureCRT ಮೆನು => ಸ್ಕ್ರಿಪ್ಟ್ => 4 "ಸ್ಕ್ರಿಪ್ಟ್ ಫೈಲ್ ಹೆಸರು"
SecureCRT ಮೆನು => ಸ್ಕ್ರಿಪ್ಟ್ => 5 "ಸ್ಕ್ರಿಪ್ಟ್ ಫೈಲ್ ಹೆಸರು"

ಸಂಪರ್ಕದ ನಂತರ ಸ್ವಯಂಚಾಲಿತ ಪ್ರಾರಂಭ (ಲಾಗಿನ್ ಸ್ಕ್ರಿಪ್ಟ್)

ಉಳಿಸಿದ ಸೆಷನ್‌ಗಾಗಿ ಸ್ವಯಂಚಾಲಿತ ಲಾಗಿಂಗ್ ಸ್ಕ್ರಿಪ್ಟ್ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಲಾಗಿದೆ: ಸಂಪರ್ಕ => ಲಾಗಿನ್ ಕ್ರಿಯೆಗಳು => ಲಾಗಿನ್ ಸ್ಕ್ರಿಪ್ಟ್

ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳನ್ನು ಬಳಸಿಕೊಂಡು SecureCRT ನಲ್ಲಿ ಸ್ವಯಂಚಾಲಿತ ಪ್ರವೇಶ

ಸ್ಕ್ರಿಪ್ಟ್ ಬಳಸದೆಯೇ ಸ್ವಯಂಚಾಲಿತ ಲಾಗಿನ್

SecureCRT ನ ಅಂತರ್ನಿರ್ಮಿತ ಕಾರ್ಯವನ್ನು ಮಾತ್ರ ಬಳಸಿಕೊಂಡು ಸ್ಕ್ರಿಪ್ಟ್ ಬರೆಯದೆಯೇ ಪಾಸ್‌ವರ್ಡ್‌ನ ಬಳಕೆದಾರಹೆಸರನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ನಮೂದಿಸಲು ಸಾಧ್ಯವಿದೆ. ಸಂಪರ್ಕ ಸೆಟ್ಟಿಂಗ್‌ಗಳಲ್ಲಿ “ಸಂಪರ್ಕ” => ಲಾಗಿನ್ ಕ್ರಿಯೆಗಳು => ಸ್ವಯಂಚಾಲಿತ ಲಾಗಿನ್ - ನೀವು ಹಲವಾರು ಬಂಡಲ್‌ಗಳನ್ನು ಭರ್ತಿ ಮಾಡಬೇಕಾಗುತ್ತದೆ - ಅಂದರೆ ಜೋಡಿಗಳು: “ನಿರೀಕ್ಷಿತ ಪಠ್ಯ” + “ಈ ಪಠ್ಯಕ್ಕೆ ಅಕ್ಷರಗಳನ್ನು ಕಳುಹಿಸಲಾಗಿದೆ” ಅಂತಹ ಅನೇಕ ಜೋಡಿಗಳು ಇರಬಹುದು. (ಉದಾಹರಣೆ: 1 ನೇ ಜೋಡಿಯು ಬಳಕೆದಾರಹೆಸರಿಗಾಗಿ ಕಾಯುತ್ತಿದೆ, ಎರಡನೆಯದು ಪಾಸ್‌ವರ್ಡ್‌ಗಾಗಿ ಕಾಯುತ್ತಿದೆ, ಮೂರನೆಯದು ಸವಲತ್ತು ಮೋಡ್ ಪ್ರಾಂಪ್ಟ್‌ಗಾಗಿ ಕಾಯುತ್ತಿದೆ, ಸವಲತ್ತು ಮೋಡ್ ಪಾಸ್‌ವರ್ಡ್‌ಗಾಗಿ ನಾಲ್ಕನೇ ಜೋಡಿ.)

Cisco ASA ನಲ್ಲಿ ಸ್ವಯಂಚಾಲಿತ ಲಾಗಿನ್‌ನ ಉದಾಹರಣೆ:

ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳನ್ನು ಬಳಸಿಕೊಂಡು SecureCRT ನಲ್ಲಿ ಸ್ವಯಂಚಾಲಿತ ಪ್ರವೇಶ

SecureCRT ನಲ್ಲಿ ಬಟನ್‌ನೊಂದಿಗೆ ಹಸ್ತಚಾಲಿತವಾಗಿ ಪ್ರಚೋದಿಸಲಾಗುತ್ತಿದೆ (ಒಂದು ಬಟನ್ ಅನ್ನು ಇನ್ನೂ ರಚಿಸಬೇಕಾಗಿದೆ ಮತ್ತು SecureCRT ಗೆ ಸೇರಿಸಬೇಕಾಗಿದೆ)

SecureCRT ನಲ್ಲಿ, ನೀವು ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ಬಟನ್‌ಗೆ ನಿಯೋಜಿಸಬಹುದು. ಈ ಉದ್ದೇಶಕ್ಕಾಗಿ ವಿಶೇಷವಾಗಿ ರಚಿಸಲಾದ ಫಲಕಕ್ಕೆ ಬಟನ್ ಅನ್ನು ಸೇರಿಸಲಾಗಿದೆ.

ಎ. ಇಂಟರ್ಫೇಸ್‌ಗೆ ಫಲಕವನ್ನು ಸೇರಿಸಲಾಗುತ್ತಿದೆ: SecureCRT ಮೆನು => ವೀಕ್ಷಿಸಿ => ಬಟನ್ ಬಾರ್
ಬಿ. ಫಲಕಕ್ಕೆ ಬಟನ್ ಸೇರಿಸಿ ಮತ್ತು ಸ್ಕ್ರಿಪ್ಟ್ ಸೇರಿಸಿ. - ಬಟನ್ ಬಾರ್ ಮೇಲೆ ಬಲ ಕ್ಲಿಕ್ ಮಾಡಿ ಮತ್ತು ಸಂದರ್ಭ ಮೆನುವಿನಿಂದ "ಹೊಸ ಬಟನ್..." ಆಯ್ಕೆಮಾಡಿ.
ವಿ. "ಮ್ಯಾಪ್ ಬಟನ್" ಸಂವಾದ ಪೆಟ್ಟಿಗೆಯಲ್ಲಿ, "ಆಕ್ಷನ್" ಕ್ಷೇತ್ರದಲ್ಲಿ, "ರನ್ ಸ್ಕ್ರಿಪ್ಟ್" ಕ್ರಿಯೆಯನ್ನು (ಫಂಕ್ಷನ್) ಆಯ್ಕೆಮಾಡಿ.
ಬಟನ್‌ಗಾಗಿ ಶೀರ್ಷಿಕೆಯನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಿ. ಬಟನ್ ಐಕಾನ್‌ಗೆ ಬಣ್ಣ. ಸರಿ ಕ್ಲಿಕ್ ಮಾಡುವ ಮೂಲಕ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ಪೂರ್ಣಗೊಳಿಸಿ.

ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳನ್ನು ಬಳಸಿಕೊಂಡು SecureCRT ನಲ್ಲಿ ಸ್ವಯಂಚಾಲಿತ ಪ್ರವೇಶ

ಗಮನಿಸಿ:

ಗುಂಡಿಗಳೊಂದಿಗೆ ಫಲಕವು ತುಂಬಾ ಉಪಯುಕ್ತ ಕಾರ್ಯವನ್ನು ಹೊಂದಿದೆ.

1. ನಿರ್ದಿಷ್ಟ ಸೆಶನ್‌ಗೆ ಲಾಗಿನ್ ಮಾಡಿದಾಗ, ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ ಈ ಟ್ಯಾಬ್‌ಗೆ ಯಾವ ಫಲಕವನ್ನು ತೆರೆಯಬೇಕು ಎಂಬುದನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಲು ಸಾಧ್ಯವಿದೆ.

2. ಸಲಕರಣೆಗಳೊಂದಿಗೆ ಪ್ರಮಾಣಿತ ಕ್ರಿಯೆಗಳಿಗೆ ಪೂರ್ವನಿರ್ಧರಿತ ಕ್ರಿಯೆಗಳನ್ನು ಹೊಂದಿಸಲು ಸಾಧ್ಯವಿದೆ: ಶೋ ಆವೃತ್ತಿಯನ್ನು ತೋರಿಸಿ, ಚಾಲನೆಯಲ್ಲಿರುವ-ಸಂರಚನೆಯನ್ನು ತೋರಿಸಿ, ಸಂರಚನೆಯನ್ನು ಉಳಿಸಿ.

ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳನ್ನು ಬಳಸಿಕೊಂಡು SecureCRT ನಲ್ಲಿ ಸ್ವಯಂಚಾಲಿತ ಪ್ರವೇಶ
ಈ ಬಟನ್‌ಗಳಿಗೆ ಯಾವುದೇ ಸ್ಕ್ರಿಪ್ಟ್ ಲಗತ್ತಿಸಲಾಗಿಲ್ಲ. ಆಕ್ಷನ್ ಲೈನ್ ಮಾತ್ರ:

ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳನ್ನು ಬಳಸಿಕೊಂಡು SecureCRT ನಲ್ಲಿ ಸ್ವಯಂಚಾಲಿತ ಪ್ರವೇಶ
ಸೆಟ್ಟಿಂಗ್ - ಆದ್ದರಿಂದ ಸೆಷನ್‌ಗೆ ಬದಲಾಯಿಸುವಾಗ, ಸೆಷನ್ ಸೆಟ್ಟಿಂಗ್‌ಗಳಲ್ಲಿ ಬಟನ್‌ಗಳೊಂದಿಗೆ ಅಗತ್ಯವಾದ ಪ್ಯಾನಲ್ ತೆರೆಯುತ್ತದೆ:

ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳನ್ನು ಬಳಸಿಕೊಂಡು SecureCRT ನಲ್ಲಿ ಸ್ವಯಂಚಾಲಿತ ಪ್ರವೇಶ
ಗ್ರಾಹಕರು ಲಾಗಿನ್‌ಗಾಗಿ ಪ್ರತ್ಯೇಕ ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳನ್ನು ಹೊಂದಿಸಲು ಮತ್ತು ಮಾರಾಟಗಾರರಿಗೆ ಆಗಾಗ್ಗೆ ಆಜ್ಞೆಗಳೊಂದಿಗೆ ಫಲಕಕ್ಕೆ ಹೋಗಲು ಇದು ಅರ್ಥಪೂರ್ಣವಾಗಿದೆ.

ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳನ್ನು ಬಳಸಿಕೊಂಡು SecureCRT ನಲ್ಲಿ ಸ್ವಯಂಚಾಲಿತ ಪ್ರವೇಶ
ನೀವು Go Cisco ಬಟನ್ ಅನ್ನು ಒತ್ತಿದಾಗ, ಫಲಕವು Cisco ಬಟನ್ ಬಾರ್‌ಗೆ ಬದಲಾಗುತ್ತದೆ.

ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳನ್ನು ಬಳಸಿಕೊಂಡು SecureCRT ನಲ್ಲಿ ಸ್ವಯಂಚಾಲಿತ ಪ್ರವೇಶ

ಸರಳ ಮತ್ತು ಸುಧಾರಿತ ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳನ್ನು ಬಳಸುವ ಉದಾಹರಣೆಗಳು. (ನೈಜ ಜೀವನದಿಂದ ಅಭ್ಯಾಸ ಮಾಡಿ.)

ಬಹುತೇಕ ಎಲ್ಲಾ ಸಂದರ್ಭಗಳಿಗೂ ಸರಳ ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳು ಸಾಕು. ಆದರೆ ಒಮ್ಮೆ ನಾನು ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ಸ್ವಲ್ಪ ಸಂಕೀರ್ಣಗೊಳಿಸಬೇಕಾಗಿತ್ತು - ಕೆಲಸವನ್ನು ವೇಗಗೊಳಿಸಲು. ಈ ತೊಡಕು ಬಳಕೆದಾರರಿಂದ ಸಂವಾದ ಪೆಟ್ಟಿಗೆಯಲ್ಲಿ ಹೆಚ್ಚುವರಿ ಡೇಟಾವನ್ನು ಸರಳವಾಗಿ ವಿನಂತಿಸಿದೆ.

ಸಂವಾದ ಪೆಟ್ಟಿಗೆಯನ್ನು ಬಳಸಿಕೊಂಡು ಬಳಕೆದಾರರಿಂದ ಡೇಟಾವನ್ನು ವಿನಂತಿಸಲಾಗುತ್ತಿದೆ

ಡೇಟಾ ವಿನಂತಿ ಸ್ಕ್ರಿಪ್ಟ್‌ನಲ್ಲಿ ನಾನು 2 ಅನ್ನು ಹೊಂದಿದ್ದೇನೆ. ಇದು ಹೋಸ್ಟ್ ಹೆಸರು ಮತ್ತು IP ವಿಳಾಸದ 4 ನೇ ಆಕ್ಟೆಟ್ ಆಗಿದೆ. ಈ ಕ್ರಿಯೆಯನ್ನು ನಿರ್ವಹಿಸಲು - ನಾನು ಅದನ್ನು ಹೇಗೆ ಮಾಡಬೇಕೆಂದು Google ಮಾಡಿದೆ ಮತ್ತು ಅದನ್ನು 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 ಉಪಕರಣಗಳು ಇದ್ದುದರಿಂದ. ಮತ್ತು ಡೇಟಾವನ್ನು ಟೇಬಲ್‌ನಲ್ಲಿ ಪ್ರಸ್ತುತಪಡಿಸಲಾಗಿದೆ, ನಂತರ ನಾನು ಮೌಲ್ಯಗಳನ್ನು ಟೇಬಲ್‌ನಿಂದ ನಕಲಿಸಿದ್ದೇನೆ ಮತ್ತು ಅದನ್ನು ಸಂವಾದ ಪೆಟ್ಟಿಗೆಗಳಲ್ಲಿ ಅಂಟಿಸಿದ್ದೇನೆ. ಮುಂದೆ ಸ್ಕ್ರಿಪ್ಟ್ ಸ್ವತಂತ್ರವಾಗಿ ಕೆಲಸ ಮಾಡಿತು.

ನೆಟ್ವರ್ಕ್ ಉಪಕರಣಗಳಿಗೆ FTP ನಕಲು.

ಈ ಸ್ಕ್ರಿಪ್ಟ್ ನನ್ನ ಕಮಾಂಡ್ ವಿಂಡೋ (ಶೆಲ್) ಅನ್ನು ಪ್ರಾರಂಭಿಸಿತು ಮತ್ತು FTP ಮೂಲಕ ಡೇಟಾವನ್ನು ನಕಲಿಸಿತು. ಕೊನೆಯಲ್ಲಿ, ಅಧಿವೇಶನವನ್ನು ಮುಚ್ಚಿ. ಇದಕ್ಕಾಗಿ ನೋಟ್‌ಪ್ಯಾಡ್ ಅನ್ನು ಬಳಸುವುದು ಅಸಾಧ್ಯ, ಏಕೆಂದರೆ ನಕಲು ಮಾಡಲು ಬಹಳ ಸಮಯ ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ ಮತ್ತು FTP ಬಫರ್‌ನಲ್ಲಿನ ಡೇಟಾವನ್ನು ದೀರ್ಘಕಾಲದವರೆಗೆ ಸಂಗ್ರಹಿಸಲಾಗುವುದಿಲ್ಲ:

# $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 ವಿಳಾಸ) - ನಾನು ಈ ಭಾಗವನ್ನು ಸೇರಿಸಿದೆ. ನಾನು Enter ಅನ್ನು ಒತ್ತಿದ ನಂತರ, ಸ್ಕ್ರಿಪ್ಟ್ ಆಜ್ಞೆಯನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲು ಮುಂದುವರೆಯಿತು.

# $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 ಮಾರ್ಗ 10.10.10.8 255.255.255.252 ") ಗೇಟ್‌ವೇಯ IP ವಿಳಾಸವನ್ನು ಸೇರಿಸಲಾಗಿಲ್ಲ ಮತ್ತು ಕ್ಯಾರೇಜ್ ರಿಟರ್ನ್ ಅಕ್ಷರವಿಲ್ಲ. "(config) #" ಅಕ್ಷರಗಳೊಂದಿಗೆ ಮುಂದಿನ ಸಾಲಿಗಾಗಿ ಸ್ಕ್ರಿಪ್ಟ್ ಕಾಯುತ್ತಿದೆ, ನಾನು ip ವಿಳಾಸವನ್ನು ನಮೂದಿಸಿ ಮತ್ತು ನಮೂದಿಸಿದ ನಂತರ ಈ ಅಕ್ಷರಗಳು ಕಾಣಿಸಿಕೊಂಡವು.

ತೀರ್ಮಾನ:

ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ಬರೆಯುವಾಗ ಮತ್ತು ಅದನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುವಾಗ, ನಿಯಮವನ್ನು ಅನುಸರಿಸಬೇಕು: ಸ್ಕ್ರಿಪ್ಟ್ ಬರೆಯುವ ಮತ್ತು ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುವ ಸಮಯವು ಸೈದ್ಧಾಂತಿಕವಾಗಿ ಅದೇ ಕೆಲಸವನ್ನು ಕೈಯಾರೆ ಮಾಡಲು (ನೋಟ್‌ಪ್ಯಾಡ್‌ನಿಂದ ನಕಲಿಸಿ / ಅಂಟಿಸಿ, ಬರೆಯುವುದು ಮತ್ತು ಡೀಬಗ್ ಮಾಡುವುದು) ಸಮಯಕ್ಕಿಂತ ಹೆಚ್ಚಿರಬಾರದು. ಅನ್ಸಿಬಲ್, ಬರವಣಿಗೆ ಮತ್ತು ಡೀಬಗ್ ಮಾಡುವ ಪೈಥಾನ್ ಸ್ಕ್ರಿಪ್ಟ್‌ಗಾಗಿ ಪ್ಲೇಬುಕ್). ಅಂದರೆ, ಸ್ಕ್ರಿಪ್ಟ್‌ನ ಬಳಕೆಯು ಸಮಯವನ್ನು ಉಳಿಸಬೇಕು ಮತ್ತು ಪ್ರಕ್ರಿಯೆಗಳ ಒಂದು-ಬಾರಿ ಯಾಂತ್ರೀಕೃತಗೊಂಡ ಸಮಯವನ್ನು ವ್ಯರ್ಥ ಮಾಡಬಾರದು (ಅಂದರೆ, ಸ್ಕ್ರಿಪ್ಟ್ ಅನನ್ಯವಾಗಿರುವಾಗ ಮತ್ತು ಹೆಚ್ಚಿನ ಪುನರಾವರ್ತನೆ ಇರುವುದಿಲ್ಲ). ಆದರೆ ಸ್ಕ್ರಿಪ್ಟ್ ವಿಶಿಷ್ಟವಾಗಿದ್ದರೆ ಮತ್ತು ಸ್ಕ್ರಿಪ್ಟ್‌ನೊಂದಿಗೆ ಯಾಂತ್ರೀಕೃತಗೊಂಡಿದ್ದರೆ ಮತ್ತು ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ಬರೆಯುವುದು / ಡೀಬಗ್ ಮಾಡುವುದು ಬೇರೆ ಯಾವುದೇ ರೀತಿಯಲ್ಲಿ ಮಾಡುವುದಕ್ಕಿಂತ ಕಡಿಮೆ ಸಮಯ ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ (ಅನ್ಸಿಬಲ್, ಕಮಾಂಡ್ ವಿಂಡೋ), ಆಗ ಸ್ಕ್ರಿಪ್ಟ್ ಅತ್ಯುತ್ತಮ ಪರಿಹಾರವಾಗಿದೆ.
ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ಡೀಬಗ್ ಮಾಡಲಾಗುತ್ತಿದೆ. ಸ್ಕ್ರಿಪ್ಟ್ ಕ್ರಮೇಣ ಬೆಳೆಯುತ್ತದೆ, ಡೀಬಗ್ ಮಾಡುವಿಕೆಯು ಮೊದಲ, ಎರಡನೆಯ, ಮೂರನೇ ಸಾಧನದಲ್ಲಿ ರನ್-ಇನ್‌ನಲ್ಲಿ ನಡೆಯುತ್ತದೆ ಮತ್ತು ನಾಲ್ಕನೆಯ ಹೊತ್ತಿಗೆ ಸ್ಕ್ರಿಪ್ಟ್ ಸಂಪೂರ್ಣವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ.

ಮೌಸ್‌ನೊಂದಿಗೆ ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ರನ್ ಮಾಡುವುದು (ಬಳಕೆದಾರಹೆಸರು+ಪಾಸ್‌ವರ್ಡ್ ನಮೂದಿಸುವ ಮೂಲಕ) ಸಾಮಾನ್ಯವಾಗಿ ನೋಟ್‌ಪ್ಯಾಡ್‌ನಿಂದ ಬಳಕೆದಾರಹೆಸರು ಮತ್ತು ಪಾಸ್‌ವರ್ಡ್ ಅನ್ನು ನಕಲಿಸುವುದಕ್ಕಿಂತ ವೇಗವಾಗಿರುತ್ತದೆ. ಆದರೆ ಭದ್ರತಾ ದೃಷ್ಟಿಯಿಂದ ಸುರಕ್ಷಿತವಲ್ಲ.
ಸ್ಕ್ರಿಪ್ಟ್ ಬಳಸುವಾಗ ಮತ್ತೊಂದು (ನೈಜ) ಉದಾಹರಣೆ: ನೀವು ನೆಟ್ವರ್ಕ್ ಉಪಕರಣಗಳಿಗೆ ನೇರ ಪ್ರವೇಶವನ್ನು ಹೊಂದಿಲ್ಲ. ಆದರೆ ಎಲ್ಲಾ ನೆಟ್‌ವರ್ಕ್ ಉಪಕರಣಗಳನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡುವ ಅವಶ್ಯಕತೆಯಿದೆ (ಅದನ್ನು ಮಾನಿಟರಿಂಗ್ ಸಿಸ್ಟಮ್‌ಗೆ ತನ್ನಿ, ಹೆಚ್ಚುವರಿ ಬಳಕೆದಾರಹೆಸರು/ಪಾಸ್‌ವರ್ಡ್/snmpv3username/password ಅನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಿ). ನೀವು ಕೋರ್ ಸ್ವಿಚ್‌ಗೆ ಹೋದಾಗ ಪ್ರವೇಶವಿದೆ, ಅದರಿಂದ ನೀವು ಇತರ ಸಾಧನಗಳಿಗೆ SSH ಅನ್ನು ತೆರೆಯುತ್ತೀರಿ. ನೀವು ಅನ್ಸಿಬಲ್ ಅನ್ನು ಏಕೆ ಬಳಸಬಾರದು. - ಏಕೆಂದರೆ ನಾವು ನೆಟ್‌ವರ್ಕ್ ಉಪಕರಣಗಳಲ್ಲಿ (ಲೈನ್ vty 0 4, ಬಳಕೆದಾರ-ಇಂಟರ್‌ಫೇಸ್ vty 0 4) ಅನುಮತಿಸಲಾದ ಏಕಕಾಲಿಕ ಸೆಷನ್‌ಗಳ ಸಂಖ್ಯೆಯ ಮೇಲೆ ಮಿತಿಯನ್ನು ಹೊಂದಿದ್ದೇವೆ (ಅದೇ SSH ಮೊದಲ ಹಾಪ್‌ನೊಂದಿಗೆ ಅನ್ಸಿಬಲ್‌ನಲ್ಲಿ ವಿಭಿನ್ನ ಸಾಧನಗಳನ್ನು ಹೇಗೆ ಪ್ರಾರಂಭಿಸುವುದು ಎಂಬುದು ಇನ್ನೊಂದು ಪ್ರಶ್ನೆ).

ಸ್ಕ್ರಿಪ್ಟ್ ದೀರ್ಘ ಕಾರ್ಯಾಚರಣೆಗಳ ಸಮಯದಲ್ಲಿ ಸಮಯವನ್ನು ಕಡಿಮೆ ಮಾಡುತ್ತದೆ - ಉದಾಹರಣೆಗೆ, FTP ಮೂಲಕ ಫೈಲ್ಗಳನ್ನು ನಕಲಿಸುವುದು. ನಕಲು ಪೂರ್ಣಗೊಂಡ ನಂತರ, ಸ್ಕ್ರಿಪ್ಟ್ ತಕ್ಷಣವೇ ಕೆಲಸ ಮಾಡಲು ಪ್ರಾರಂಭಿಸುತ್ತದೆ. ಒಬ್ಬ ವ್ಯಕ್ತಿಯು ನಕಲು ಮಾಡುವ ಅಂತ್ಯವನ್ನು ನೋಡಬೇಕು, ನಂತರ ನಕಲು ಮಾಡುವ ಅಂತ್ಯವನ್ನು ಅರಿತುಕೊಳ್ಳಬೇಕು, ನಂತರ ಸೂಕ್ತವಾದ ಆಜ್ಞೆಗಳನ್ನು ನಮೂದಿಸಿ. ಸ್ಕ್ರಿಪ್ಟ್ ಅದನ್ನು ವಸ್ತುನಿಷ್ಠವಾಗಿ ವೇಗವಾಗಿ ಮಾಡುತ್ತದೆ.

ಸಾಮೂಹಿಕ ಡೇಟಾ ವಿತರಣಾ ಸಾಧನಗಳನ್ನು ಬಳಸುವುದು ಅಸಾಧ್ಯವಾದಲ್ಲಿ ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳು ಅನ್ವಯಿಸುತ್ತವೆ: ಕನ್ಸೋಲ್. ಅಥವಾ ಸಲಕರಣೆಗಳ ಕೆಲವು ಡೇಟಾವು ವಿಶಿಷ್ಟವಾದಾಗ: ಹೋಸ್ಟ್ ಹೆಸರು, ನಿರ್ವಹಣೆ IP ವಿಳಾಸ. ಅಥವಾ ಪ್ರೋಗ್ರಾಂ ಅನ್ನು ಬರೆಯುವಾಗ ಮತ್ತು ಡೀಬಗ್ ಮಾಡುವಾಗ ಸ್ಕ್ರಿಪ್ಟ್ ಚಾಲನೆಯಲ್ಲಿರುವಾಗ ಉಪಕರಣದಿಂದ ಪಡೆದ ಡೇಟಾವನ್ನು ಸೇರಿಸುವುದಕ್ಕಿಂತ ಹೆಚ್ಚು ಕಷ್ಟ. - ಪ್ರತಿ ಸಾಧನವು ಇಂಟರ್ನೆಟ್ ಒದಗಿಸುವವರ ಸ್ವಂತ IP ವಿಳಾಸವನ್ನು ಹೊಂದಿರುವಾಗ, ಮಾರ್ಗವನ್ನು ಸೂಚಿಸಲು ಸ್ಕ್ರಿಪ್ಟ್‌ನೊಂದಿಗೆ ಉದಾಹರಣೆ. (ನನ್ನ ಸಹೋದ್ಯೋಗಿಗಳು ಅಂತಹ ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳನ್ನು ಬರೆದಿದ್ದಾರೆ - DMVPN ಮಾತನಾಡುವಾಗ 3 ಕ್ಕಿಂತ ಹೆಚ್ಚಿತ್ತು. DMVPN ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ಬದಲಾಯಿಸುವುದು ಅಗತ್ಯವಾಗಿತ್ತು).

ಕೇಸ್ ಸ್ಟಡಿ: ಕನ್ಸೋಲ್ ಪೋರ್ಟ್‌ಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಹೊಸ ಸ್ವಿಚ್‌ನಲ್ಲಿ ಆರಂಭಿಕ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡುವುದು:

A. ಕನ್ಸೋಲ್ ಕೇಬಲ್ ಅನ್ನು ಸಾಧನಕ್ಕೆ ಪ್ಲಗ್ ಮಾಡಲಾಗಿದೆ.
ಬಿ. ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ರನ್ ಮಾಡಿ
ಬಿ. ಸ್ಕ್ರಿಪ್ಟ್‌ನ ಕಾರ್ಯಗತಗೊಳಿಸಲು ಕಾಯುತ್ತಿದ್ದರು
D. ಮುಂದಿನ ಸಾಧನಕ್ಕೆ ಕನ್ಸೋಲ್ ಕೇಬಲ್ ಅನ್ನು ಪ್ಲಗ್ ಮಾಡಲಾಗಿದೆ.
E. ಸ್ವಿಚ್ ಕೊನೆಯದಾಗಿರದಿದ್ದರೆ, ಹಂತ B ಗೆ ಹೋಗಿ.

ಸ್ಕ್ರಿಪ್ಟ್ ಕೆಲಸದ ಪರಿಣಾಮವಾಗಿ:

  • ಸಾಧನದಲ್ಲಿ ಆರಂಭಿಕ ಪಾಸ್ವರ್ಡ್ ಅನ್ನು ಹೊಂದಿಸಲಾಗಿದೆ.
  • ಬಳಕೆದಾರಹೆಸರು ನಮೂದಿಸಲಾಗಿದೆ
  • ಸಾಧನದ ಅನನ್ಯ IP ವಿಳಾಸವನ್ನು ನಮೂದಿಸಲಾಗಿದೆ.

ಪಿಎಸ್ ಕಾರ್ಯಾಚರಣೆಯನ್ನು ಪುನರಾವರ್ತಿಸಬೇಕಾಗಿತ್ತು. ಏಕೆಂದರೆ ಡೀಫಾಲ್ಟ್ ssh ಅನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಲಾಗಿಲ್ಲ/ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗಿಲ್ಲ. (ಹೌದು, ಇದು ನನ್ನ ತಪ್ಪು.)

ಬಳಸಿದ ಮೂಲಗಳು.

1. ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳನ್ನು ರಚಿಸುವ ಬಗ್ಗೆ
2. ಸ್ಕ್ರಿಪ್ಟ್ ಉದಾಹರಣೆಗಳು

ಅನುಬಂಧ 1: ಮಾದರಿ ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳು.


ಎರಡು ಪ್ರಶ್ನೆಗಳೊಂದಿಗೆ ದೀರ್ಘ ಸ್ಕ್ರಿಪ್ಟ್‌ನ ಉದಾಹರಣೆ: ಹೋಸ್ಟ್ ಹೆಸರು ಮತ್ತು IP ವಿಳಾಸ. ಕನ್ಸೋಲ್ (9600 ಬಾಡ್) ಮೂಲಕ ಉಪಕರಣಗಳನ್ನು ಪೂರ್ವನಿಗದಿಗೊಳಿಸಲು ಇದನ್ನು ರಚಿಸಲಾಗಿದೆ. ಮತ್ತು ನೆಟ್ವರ್ಕ್ಗೆ ಸಲಕರಣೆಗಳ ಸಂಪರ್ಕವನ್ನು ತಯಾರಿಸಲು ಸಹ.

# $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 ಮತ್ತು Windows ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್‌ಗಳಲ್ಲಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ.

ಸ್ಕ್ರಿಪ್ಟ್ ಬೆಂಬಲವಿದೆ (ಈ ಲೇಖನ)
ಇವೆ ಆದೇಶ ವಿಂಡೋ
ಸರಣಿ/ಟೆಲ್ನೆಟ್/SSH1/SSH2/ಶೆಲ್ ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್

ಮೂಲ: www.habr.com