बस मैंने सोचा था कि मैं उस स्क्रिप्ट को सम्मिलित करूँगा जो मैंने उम्मीद की थी कि कुछ लोगों को सिंटैक्स और मैन पेज रिसर्च के कुछ घंटे बचाने होंगे
क) सिंगलआईपी, आईपी रेंज या आईपीएल फाइल
ख) आईपी / रेंज पर चलने के लिए स्क्रिप्ट का नाम (वास्तविक यूनिक्स श / क्श प्रकार स्क्रिप्ट)
c) वैकल्पिक रूप से पोर्ट 22 के लिए नैम्प स्कैन करें (यानी कुछ गैर-लिनक्स मशीनों के साथ सबनेट)
आईपी से बचने के लिए पोटीन से कनेक्ट नहीं कर सकते, स्क्रिप्ट से बचने के लिए ठीक से जारी रखने में सक्षम होने से
घ) वैकल्पिक रूप से मेजबान कुंजी को स्वत: संचय करने के लिए pscp कमांड चलाएं (पोटीन स्वचालित रूप से ऐसा नहीं करता है)
यह बैच मानता है:
1. आपके पास C: \ Program Files \ PuTTY \ में पूर्ण PuTTY पैकेज और SSH कुंजी स्थापित है
2. बैच / स्क्रिप्ट / आईपीलिस्ट सी में स्थापित फाइलें: \ प्रोग्राम फाइलें \ PuTTY \ script \
3. NMAP और PuTTY वर्किंग डायरेक्टरीज़ आपके कमांड पथ में हैं
https://www.harmonyhit.com/PuttyBatch.bat
यह अधिकतर मशीनों की श्रेणी में एकल स्क्रिप्ट (जैसे SSL प्रमाणपत्र अपडेट करने) के लिए उपयोगी है
यहाँ पूरी बैच फ़ाइल है:
@ECHO रवाना
रेम आप अपने SSH प्रमुख स्थान को प्रतिबिंबित करने के लिए CACHEKEY और SCRIPT अनुभाग को संशोधित करना चाहिए
IPerm = IPList_temp.txt सेट करें
सेट रनगैन = n
सेट विकल्प = 1
सेट RANGE =
IP सेट करें =
SCAN = n सेट करें
KEYCACHE = n सेट करें
: विकल्प
सीएलएस
ECHO (कार्य निर्देशिका C: \ Program Files \ PuTTY \ script \) पर सेट है
ECHO।
ECHO 1. एकल आईपी
ईसीएचओ 2. आईपी सूची फ़ाइल
ईसीएचओ 3. आईपी रेंज
ECHO।
सेट / पी विकल्प = "आईपी प्रकार चुनें:"
IF% OPTION% == 3 गोटो IPRANGE
IF% OPTION% == 2 GOTO IPLIST
IF% OPTION% == 1 गोटे सिंग्लिप
इको कृपया एक वैध विकल्प चुनें
गोटो विकल्प
: IPRANGE
ECHO निम्नलिखित उदाहरण के रूप में आईपी रेंज (ओं) को दर्ज करें। कई श्रेणियों के बीच एक स्थान का उपयोग करें:
ECHO अर्थात "10.21.0.15-99 10.21.1.15-100"
सेट / पी रेंज = एंटर रेंज:
इको% RANGE%>% IPFILE%
GOTO SCRIPTNAME
: SINGLEIP
सेट / पी आईपी = आईपी दर्ज करें:
इको% IP%>% IPFILE%
GOTO SCRIPTNAME
: IPLIST
सेट / पी आईपी = आईपीएल फ़ाइल नाम दर्ज करें:
प्रतिलिपि / Y% IP%% IPFILE%
GOTO SCRIPTNAME
: SCRIPTNAME स्क्रिप्ट
सेट / पी SCRIPT = स्क्रिप्ट नाम दर्ज करें:
यदि% SCRIPT% मौजूद नहीं है (
इको फ़ाइलनाम मौजूद नहीं है!
GOTO SCRIPTNAME)
ECHO।
सेट / पी स्कैन = क्या Nmap पहले स्कैन करता है? (की सिफारिश की):
अगर% SCAN% == n गोटो: RUNCACHE
याद रखें कि क्या IP प्रकार "रेंज" है, क्योंकि nmap फ़ाइल से IP रेंज नहीं पढ़ सकता है और सीधे nmap कमांड में टाइप होना चाहिए
IF% OPTION% == 3 गोटो NMAPRANGE
: Nmap
पोर्ट 22 ओपन के लिए इको स्कैनिंग आईपी ...
nmap --open -n -p22 -iL% IPFILE% -oG - | findstr / E Up> nmap_temp.txt
GOTO AFTERNMAP
: NMAPRANGE
पोर्ट 22 ओपन के लिए इको स्कैनिंग आईपी ...
nmap --open -n -p22% RANGE% -oG - | findstr / E Up> nmap_temp.txt
: AFTERNMAP
इको डन
रेम नैमप स्वरूपण सही नहीं है, निम्नलिखित अतिरिक्त जानकारी को हटा देता है
/ f "tokens = 2" %% A में (nmap_temp.txt) do echo %% A >> nmap_temp2.txt
आईपी के अंत में छिपे हुए स्थान को हटा दें (बैच फ़ाइल निर्देशिका में "उत्तर" की आवश्यकता है)
टाइप करें "nmap_temp2.txt" | "" "">% IPFILE% उत्तर दें
: RUNCACHE
सेट / पी KEYCACHE = स्कैन और कैश SSH कुंजी (y / n)?
यदि% KEYCACHE% == n GOTO SCRIPT
: CACHEKEY
Host SSH होस्ट कुंजी को कैश करने के लिए सभी IP के माध्यम से चलाएँ यदि पहले से ही कैश नहीं है
for / F "tokens = *" %% A in (% IPFILE%) do (echo y | "C: \ Program Files \ PuTTY \ pscp.exe" -l root -i "C: \ Program Files \ PupptY \ SSH .ppk "-touch %% A: / tmp / test)
: स्क्रिप्ट
for / F "tokens = 1" %% A इन (% IPFILE%) करते हैं ("C: \ Program Files \ PuTTY \ putty.exe" -ssh %% A -l-root -i "C: \ Program Files) \ PuTTY \ SSH.ppk "-m" C: \ Program Files \ PuTTY \ स्क्रिप्ट \% SCRIPT% ")
यदि मौजूद है nmap_temp.txt (डेल nmap_temp.txt)
यदि मौजूद है nmap_temp2.txt (डेल nmap_temp2.txt)
सेट / पी रनगैन = "रीरन के लिए फिनिश या वाई में एंटर दबाएं"
अगर% रनगैन% == y गोटो विकल्प
-m
प्लिंक के साथ स्विच का उपयोग करने की आवश्यकता नहीं है , क्योंकि यह सीधे इसकी कमांड-लाइन पर कमांड निर्दिष्ट करने की अनुमति देता है, मेरा जवाब देखें ।