विंडोज़ कमांड प्रॉम्प्ट के माध्यम से पासवर्ड प्रमाणीकरण के साथ ssh निष्पादित करें


93

मुझे गैर-संवादात्मक तरीके से पासवर्ड प्रदान करके विंडोज़ कमांड लाइन से ssh निष्पादित करना होगा । मैं कुंजी आधारित प्रमाणीकरण को लागू कर सकता हूं और जैसे ssh कमांड निष्पादित कर सकता है

ssh <user>@<host> <command>

जैसी कोई आज्ञा है

ssh <user>@<host> -P <password> <command>

यहां छवि विवरण दर्ज करें

मुझे नहीं पता कि क्या यह संभव है। हालाँकि, उसी के लिए आसपास कुछ काम हो सकता है। उसी को पूरा करने के लिए मुझे कुछ विचार दें।


2
कुंजी-आधारित प्रमाणीकरण का उपयोग करना बेहतर विचार है।
ग्रेग Inozemtsev

1
हाँ मुझे पासवर्ड आधारित प्रमाणीकरण की भी आवश्यकता है।
बालाचंदर

12
@GregInozemtsev जबकि यह मामला है, कभी-कभी आवश्यकता इस तरह के कुछ करने के लिए त्वरित और गंदे स्क्रिप्ट के लिए उठती है, विशेष रूप से एक परीक्षण या अन्य वातावरण में जहां शुद्ध सुरक्षा की आवश्यकता नहीं होती है।
TheJosh

मुझे यह पता नहीं है कि वह मूल विकल्प क्यों गायब है। मैं -pw सुपरपुट्टी (पोट्टी) कमांड की तलाश कर रहा था :( मुझे लगता है कि मैं इसके बजाय ssh कीज़ पर
जाऊँगा

जवाबों:


12

PuTTY की पलक के पास पासवर्ड के लिए कमांड-लाइन तर्क हैइस प्रश्न के उत्तर में कुछ अन्य सुझाव दिए गए हैं : एक्सपेक्ट (जो विंडोज के लिए उपलब्ध है) का उपयोग करते हुए, या पैरामिको के साथ पायथन में एक लांचर लिख रहा है।


160

Sshpass उपयोगिता वास्तव में इस के लिए है। सबसे पहले, इस कमांड को टाइप करके sshpass स्थापित करें:

sudo apt-get install sshpass

इसके बाद अपने ssh / scp कमांड को प्रिपेंड करें

sshpass -p '<password>' <ssh/scp command>

लिनक्स का उपयोग करते समय यह प्रोग्राम स्थापित करना सबसे आसान है।

उपयोगकर्ता को sshइसके बजाय SSH के अधिक सुरक्षित सार्वजनिक कुंजी प्रमाणीकरण ( कमांड के साथ ) का उपयोग करने पर विचार करना चाहिए ।


8
Rsync के लिए भी काम करता है।
TheJosh

15
क्योंकि शीर्षक में "विंडोज़" शामिल नहीं है और यह सूची में उच्च दिखाता है जब लिनक्स / यूनिक्स / मैक के लिए यह खोज करता है। इसलिए, यहां इस प्रश्न का उत्तर देने से समय की बचत होती है।
फ्रोबबिट

1
मैक ओएस एक्स में शानदार काम किया sudo port install sshpass। मैंने इसके माध्यम से sshpass स्थापित किया । हालाँकि, अगर किसी और चीज़ के कारण लॉगिंग में कोई समस्या है, तो sshpass चुपचाप (कोई त्रुटि संदेश नहीं) विफल हो गया। तो sshpassपहले बिना कमांड डिबग करें ; फिर जोड़ें sshpass -p blah(आदि)।
RedRedSuit

5
आपको ज्ञात होना चाहिए कि निष्पादित शेल कमांड संग्रहीत हैं (उदाहरण के लिए '.bash_history' में)।
बेंजामिन

4
अनीश - लेखक ने खिड़कियों के लिए कहा, आपने लिनक्स के लिए विकल्प दिया।
अर्का। बी


4

विंडोज समाधान

  1. PuTTY स्थापित करें
  2. दबाएँ Windows-Key + R
  3. दर्ज putty.exe -ssh [username]@[hostname] -pw [password]

2

PowerShell समाधान

पॉश-एसएसएच का उपयोग करना:

New-SSHSession -ComputerName 0.0.0.0 -Credential $cred | Out-Null
Invoke-SSHCommand -SessionId 1 -Command "nohup sleep 5 >> abs.log &" | Out-Null
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.