2013-06-04 5 views
71

हर दिन मैं एसएसएच के माध्यम से एक सर्वर से कनेक्ट कर रहा हूँ। मैं इस दिनचर्या के माध्यम से जाता हूं:बैश का उपयोग कर एसएसएच पासवर्ड कैसे दर्ज करें?

IC001:Desktop user$ ssh [email protected] 
[email protected]'s password: 

Last login: Tue Jun 4 10:09:01 2013 from 0.0.0.0 
$ 

मैं इस प्रक्रिया को स्वचालित करना चाहता हूं और मेरे लिए ऐसा करने के लिए एक बैश स्क्रिप्ट बनाना चाहता हूं। मुझे सुरक्षा की परवाह नहीं है और स्क्रिप्ट में अपना पासवर्ड खुले तौर पर स्टोर करना ठीक है। स्क्रिप्ट निष्पादित होने पर स्क्रीन पर खुले तौर पर टाइप करने के लिए भी ठीक है। इसलिए मैंने इसे बनाया है:

#!/bin/bash   
ssh [email protected] 
echo mypassword 

लेकिन यह काम नहीं करता है। मैंने echo के बजाय send भी कोशिश की है, लेकिन यह भी काम नहीं करता है। कृपया सलाह दें कि क्या करना संभव है। (चूक के साथ जाना)

ssh-keygen 

कॉपी सर्वर से सार्वजनिक कुंजी:

+0

https://help.ubuntu.com/community/SSH/OpenSSH/Keys – Kevin

+4

@Kevin, मैं सर्वर के आरोप में नहीं हूँ। मैं सिर्फ एक उपयोगकर्ता हूं जो उन्हें जोड़ता है। मुझे सर्वर पर कुछ भी संशोधित करने की अनुमति नहीं है। – Prostak

+1

भी: http://stackoverflow.com/questions/4780893/use-expect-in-bash-script-to-provide-password-to-ssh-command?rq=1 http://stackoverflow.com/questions/ 13298487/bash-script-to-ssh-in-a-machine-without-prompting-password-and-without-use-k? Rq = 1 http://stackoverflow.com/questions/3796345/can-i-use -ए-हेरेडोक-टू-एंटर-ए-पासवर्ड-इन-बैश? आरक्यू = 1 – jm666

उत्तर

150

डबल चेक अगर आप टी नहीं कर पा रहे हैं ओ कुंजी का उपयोग करें।

अन्यथा का उपयोग उम्मीद:

#!/usr/bin/expect -f 
spawn ssh [email protected] 
expect "assword:" 
send "mypassword\r" 
interact 
+89

उह ... क्या एक टाइपो या इरादा "assword" है? –

+166

इसका इरादा है: यह 'पासवर्ड' और 'पासवर्ड' से मेल खाता है। – michas

+5

मैंने टेक्स्टएक्सपेंडर में यह कोशिश की, लेकिन मुझे 'स्पॉन: कमांड नहीं मिला'। मैंने कीवर्ड के बिना इसे आजमाया, लेकिन कुछ भी नहीं हुआ। – jowie

83

एक नया कुंजी युग्म बनाएं सर्वर पर (पिछली बार के लिए पासवर्ड)

ssh-copy-id [email protected] 

अब से करना चाहिए अपनी कुंजी को पहचानें और अब आपको पासवर्ड के लिए नहीं पूछें:

ssh [email protected] 
+0

मुझे सर्वर पर कुछ भी करने की अनुमति नहीं है। क्या यह दूसरी तरफ करना संभव है? – Prostak

+0

अगर आपको वहां कुछ भी करने की अनुमति नहीं है, तो लॉग इन करने का क्या मतलब है? केवल लॉग पढ़ने के लिए – michas

+0

... लेकिन यह बात नहीं है। – Prostak

संबंधित मुद्दे