मेरी ssh config फाइल के साथ SCP या SFTP का उपयोग करना?


44

शायद मेरा google-foo मुझे यहाँ फेल कर रहा है ... मैं अपने ssh config फाइल का उपयोग करके अपने रिमोट सर्वर से SFTP या SCP का उपयोग करके टर्मिनल के माध्यम से एक mysql डंप फ़ाइल कनेक्ट और अपलोड करना चाहूंगा। मैंने पाया है प्रलेखन के अनुसार, मैं यह करने में सक्षम होना चाहिए:

sftp -F db.sql.gz webost@staging2.example.com /tmp

मैंने अपने विन्यास में उपनाम को भी थका दिया है:

sftp -F db.sql.gz myalias /tmp

जब मैं ऊपर दो कर देता हूं, तो मुझे -Fउनमें से एक होने के नाते , संभव कमांड का प्रिंट आउट मिल जाता है।

मैं पहले से ही अपने स्थानीय विन्यास में शॉर्टकट का उपयोग करके ssh के माध्यम से कनेक्ट कर सकता हूं बस ठीक है तो मुझे पता है कि काम करता है:

ssh myalias

** ध्यान दें: मैं एक निजी / सार्वजनिक कुंजी जोड़ी का उपयोग कर रहा हूं, इसलिए मुझे पासवर्ड दर्ज करने की आवश्यकता नहीं है। कुंजी जोड़ी में एक पासफ़्रेज़ जुड़ा होता है लेकिन OS X कीचेन को याद है कि पहली बार मैं जुड़ा था।

... इसलिए मुझे यकीन नहीं है कि मैं क्या गलत कर रहा हूं।

जवाबों:


46
  1. सहायता पाठ से: " ... [-F ssh_config] ..."

    उपरोक्त के अनुसार, -Fएक तर्क की अपेक्षा करता है: OpenSSH कॉन्फ़िगरेशन फ़ाइल ~/.ssh/configया इसी तरह का पथ । लेकिन आप इसके बजाय एक gzipped SQL डंप दे रहे हैं।

    चूंकि सादा ssh myaliasपहले से ही काम कर रहा है, इसलिए आपको यहां -Fविकल्प की आवश्यकता भी नहीं है। बस sftp myaliasसर्वर से कनेक्ट होगा।

  2. हालाँकि, OpenSSH sftpक्लाइंट फ़ाइलों को अपलोड करने का समर्थन नहीं करता है जैसे आप करने की कोशिश कर रहे हैं; यह केवल फाइलों को (सिंटैक्स का उपयोग करके host:path) डाउनलोड कर सकता है या इंटरैक्टिव मोड में काम कर सकता है। अपलोड करने के लिए, आपको या तो इंटरेक्टिव मोड का उपयोग करना होगा ...

    $ sftp myalias
    sftp> cd /tmp
    sftp> put db.sql.gz
    

    ... या scpउपकरण:

    scp db.sql.gz myalias:/tmp
    

    या

    scp db.sql.gz webost@staging2.example.com:/tmp
    

(sftp में एक बैच मोड होता है जिसमें यह एक फाइल से कमांड को पढ़ सकता है, उपयोग कर सकता है -b, लेकिन scpसिंगल अपलोड में उपयोग करना सरल है ।)

अन्य SFTP ग्राहक भी हैं - lftp इंटरएक्टिव उपयोग के लिए अच्छा है, जबकि कर्ल को स्वचालित करना आसान हो सकता है। बैकअप और ऐसे के लिए, आप rsync का उपयोग भी कर सकते हैं (जो अपना प्रोटोकॉल चलाता है लेकिन फिर भी SSH के अंदर)।


वाह यह सही है, महान काम किया! मैं बस टर्मिनल से परिचित हो रहा हूं इसलिए यह भविष्य में वास्तव में काम आएगा।
डैनी इंग्लैंड

0

नीचे के रूप में फॉरवर्डएजेंट कॉन्फिग के कारण समस्या,

Host dockervm
   HostName x.x.x.x
   User root
   Preferredauthentications publickey
   ForwardAgent yes

मेरा मामला, यह ss कॉन्फिग पर 'फारवर्डएजेंट' के कारण था, जिससे एससीपी लटक गया। एक बार यह टिप्पणी करने के बाद, मेरे लिए काम किया।

इसके अलावा, आपके पास फ़ॉरवर्डएजेंट लाइन के साथ फाइल की एक प्रति हो सकती है और इसे प्राप्त करने के लिए scp -F का उपयोग करें।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.