मैं एक उपयोगकर्ता नाम और पासवर्ड कैसे प्रदान करूं?


157

मैं wget के माध्यम से एक सर्वर से कनेक्ट करने की कोशिश की है:

wget http://<user>:<pass>@serveradress

लेकिन वॉट रिस्पॉन्ड्स: अमान्य पोर्ट

मुझे पता है कि सर्वर पोर्ट 80 पर आने वाले ट्रैफिक को स्वीकार करता है। मैं इस समस्या को कैसे ठीक कर सकता हूं?


मुझे नहीं लगता कि आप मज़बूती से उपयोगकर्ता का उपयोग कर सकते हैं: @ नाम वाक्य रचना पास करें; wgetइसके बजाय उनके लिए अलग कमांड लाइन विकल्प हैं, इसलिए संभवतः :पोर्ट संख्या के बाद स्ट्रिंग को पार्स कर रहा है ।
3

जवाबों:


198

<pass>@serveraddressपोर्ट के रूप में विग की व्याख्या । उपयोगकर्ता नाम और पासवर्ड निर्दिष्ट करने के लिए, --userऔर --passwordस्विच का उपयोग करें :

wget --user user --password pass http://example.com/

से man wget:

--user=user

--password=password

FTP और HTTP फ़ाइल पुनर्प्राप्ति दोनों के लिए उपयोगकर्ता नाम और पासवर्ड पासवर्ड निर्दिष्ट करें । इन मानकों का प्रयोग करके अधिरोहित जा सकता है --ftp-userऔर --ftp-passwordएफ़टीपी कनेक्शन और के लिए विकल्प --http-userऔर --http-passwordHTTP कनेक्शन के लिए विकल्प।


48
मैं --ask-passwordनाबिल कादिमी के उत्तर द्वारा वर्णित विकल्प को पसंद करता हूं । यह आपके पास एक अन्य लाइन पर अदृश्य रूप से पासवर्ड दर्ज करता है और इसे आपके शेल इतिहास में संग्रहीत करने से बचता है।
केविन

8
@ क्विन आप कम से कम एक स्थान (जैसा कि नबील द्वारा दिखाया गया है ) के साथ लाइन शुरू करके इसे शेल इतिहास में संग्रहीत करने से बच सकते हैं । यदि पासवर्ड / संसाधन संवेदनशील है, तो आपको अनएन्क्रिप्टेड HTTP / FTP / जो भी कनेक्शन आपके डिस्क पर संग्रहीत करने की तुलना में है, उसके बारे में अधिक चिंता करनी चाहिए।
लेकेनस्टाइन

मैं शेल इतिहास की तुलना में कुछ मामलों में अनएन्क्रिप्टेड पासवर्ड के मुद्दे पर अधिक महत्वपूर्ण हूं, लेकिन इसका जवाब सुरक्षित प्रोटोकॉल के लिए भी उपयोगी है। इसके अलावा, कभी-कभी आपको उन जासूसों के बारे में अधिक चिंता करनी होती है, जिनके पास आपके कंप्यूटर की पहुंच ऑनलाइन जासूसों से अधिक है (यह उस सामग्री से दिलचस्पी नहीं है जिसे आप एक्सेस कर रहे हैं या जिसके लिए आप परवाह नहीं करते हैं)। नीचे -स्कॉस्क-पासवर्ड उत्तर इंटरएक्टिव उपयोग के लिए स्पष्ट रूप से बेहतर है, जबकि यहां -पासवर्ड उत्तर स्वचालन के लिए आसान है। Ixgr द्वारा .wgetrc और chmod के बारे में टिप्पणी भी कुछ मामलों में दिलचस्प है।
यूएन

जैसा कि मैं मैनुअल को समझता हूं, पास की व्याख्या पोर्ट के रूप में नहीं की जाती है। "आप एक URL के भीतर अपने उपयोगकर्ता नाम और पासवर्ड को भी एनकोड कर सकते हैं: http://user:password@host/path" - मैनुअल
टिम

104

आपके पास 3 विकल्प हैं और यहाँ हिम्मत महसूस करने के अलावा कोई विशेष क्रम नहीं है:

1 / पासवर्ड किसी को भी दिखाई देता है (कमांड का उपयोग करके history)

wget --user=remote_user --password=SECRET ftp://ftp.example.com/file.ext

पासवर्ड ps, टॉप, htop और समान में भी दिखाई देगा।

2 / पासवर्ड आपके कंधों के पीछे दिखने वाले किसी व्यक्ति को दिखाई देता है

 wget --user=remote_user --password=SECRET ftp://ftp.example.com/file.ext

आदेश से पहले सफेद स्थान पर ध्यान दें, यह आपके इतिहास को सहेजने से रोकता है।

पासवर्ड ps, टॉप, htop और समान में भी दिखाई देगा।

3 / पासवर्ड आपके सहित किसी को भी दिखाई नहीं देता है

wget --user=remote_user --ask-password ftp://ftp.example.com/file.ext
Password for user `remote_user': [SECRET (not visible)]

6
हालांकि यह इतिहास में दिखाई नहीं देता है, यह उन सभी को दिखाई देता है जो प्रक्रिया चलाने के दौरान एक ps, top, htop या समान कमांड का संचालन करते हैं।

4
@AbdennourTOUMI आप प्रमाणपत्र जांच को अक्षम क्यों करेंगे, खासकर यदि आप अनुरोध के साथ पासवर्ड भेज रहे हैं? यह निश्चित रूप से सामान्य रूप से उचित नहीं है। जहां तक ​​लॉग या प्रॉप पर पासवर्ड को "छिपाने" की बात है, वॉट मैनपेज एक अतिरिक्त विकल्प देता है: "पासवर्ड को देखने से रोकने के लिए, उन्हें .wgetrc या .netrc में स्टोर करें, और उन फाइलों से सुरक्षा सुनिश्चित करें। अन्य उपयोगकर्ताओं के साथ "chmod"।
lxgr

2
अगर --ask-passwordउपलब्ध नहीं है या आप हर बार पासवर्ड टाइप नहीं करना चाहते wget -i link.txtहैं, तो मदद कर सकते हैं, जहां link.txtशामिल हैंftp://remote_user:SECRET@ftp.example.com/file.ext
tehnicaorg

3

आप फ़ाइल में उपयोगकर्ता नाम और पासवर्ड भी संग्रहीत कर सकते हैं और उस फ़ाइल ~/.wgetrc की अनुमतियां बदल सकते हैं ताकि केवल आपका उपयोगकर्ता ही इसे पढ़ सके:

फ़ाइल ~/.wgetrc:

user=john
password=SEcrEt

... और फिर

chmod 600 ~/.wgetrc

ध्यान दें, हालांकि, वह उपयोगकर्ता rootअभी भी उस फ़ाइल में जा सकता है और पासवर्ड पढ़ सकता है।

से मैनपेज :

पासवर्डों को देखने से रोकने के लिए, --use-askpassया उन्हें स्टोर करें .wgetrcया उनमें स्टोर करें .netrcऔर उन फ़ाइलों को अन्य उपयोगकर्ताओं से सुरक्षित रखना सुनिश्चित करें "chmod"। यदि पासवर्ड वास्तव में महत्वपूर्ण हैं, तो उन्हें उन फ़ाइलों में पड़े हुए न छोड़ें --- फ़ाइलों को संपादित करें और Wget द्वारा डाउनलोड शुरू करने के बाद उन्हें हटा दें।


0

आप के माध्यम से प्रमाणीकरण क्रेडेंशियल प्रदान कर सकते हैं --user=USERNAMEऔर --password=PASSWORD; के आधार पर man wget, आदेश का उपयोग अधिरोहित जा सकता है --http-user=USERNAMEऔर --http-password=PASSWORDके लिए http कनेक्शन और --ftp-use=USERNAMEऔर --ftp-password=PASSWORDके लिए एफ़टीपी कनेक्शन।


-1

कमांड का उपयोग किया जा सकता है --http-userऔर --http-passwordइसके बजाय --userऔर --passwordftpअनुरोध के मामले में विकल्प हैं --ftp-userऔर --ftp-password


2
यह पूरी तरह से सही नहीं है: man wgetइंगित करता है कि --user और --password वैध विकल्प हैं, जिन्हें --http-user या --ftp-password द्वारा अधिग्रहित किया जा सकता है
चार्ल्स ग्रीन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.