SSH कनेक्शन पर एससीपी को उल्टा करें


17

जब मैं अपने लैपटॉप पर होता हूँ तो मुझे अक्सर किसी न किसी सर्वर से कुछ फ़ाइल की आवश्यकता होती है। लेकिन अगर मुझे नहीं पता कि वह फ़ाइल कहां है, तो मुझे sshसर्वर में जाना होगा, चारों ओर देखना होगा exit, और फिर scp server:file .। अगर मैं अपने डेस्कटॉप और अपने सर्वर के साथ काम कर रहा हूं, तो दोनों में स्थिर आईपी हैं, मैं फ़ाइल को रिवर्स ( scp desktop:~ file) में केवल एससीपी कर सकता हूं, लेकिन मैं अपने लैपटॉप के लिए ऐसा नहीं कर सकता। वहाँ एक SSH कनेक्शन पर एक फ़ाइल को पीछे से SCP करने का कोई अच्छा तरीका है? ताकि मैं SSH के साथ जो कंप्यूटर कनेक्ट करता हूं, वह क्लाइंट को एक फाइल पीछे की ओर भेजता है?


MDNS का उपयोग क्यों नहीं किया जाता है?
इग्नासियो वाज़केज़-अब्राम्स

1
मेरा मानना ​​है कि इस सवाल का पहले ही सही उत्तर दिया जा चुका है: unix.stackexchange.com/a/2869
shellster

जवाबों:


20

यह एसएफटीपी के साथ बहुत आसान होगा, जो एसएसएच का विस्तार है जो एससीपी की तुलना में अधिक जटिल फ़ाइल संचालन का समर्थन करता है। वस्तुतः सभी आधुनिक यूनिक्स और लिनक्स वितरण इसका समर्थन करते हैं। इसका उपयोग करने के लिए, सर्वर से कनेक्ट करने के लिए बस इस कमांड को चलाएं:

sftp server

तो फिर तुम उपयोग कर सकते हैं lsऔर cdचारों ओर ब्राउज़ करें और फ़ाइल आप देख रहे हैं खोजने के लिए आदेशों। एक बार जब आप इसे पा लेते हैं, तो getइसे डाउनलोड करने के लिए कमांड का उपयोग करें । उदाहरण के लिए, file.txtसर्वर पर अपनी वर्तमान कार्यशील निर्देशिका को अपनी स्थानीय मशीन पर अपनी वर्तमान कार्यशील निर्देशिका में डाउनलोड करने के लिए , बस चलाएँ:

get file.txt

/home/pavpanchekha/textfiles/file.txtसर्वर ~/textfiles/पर अपने स्थानीय मशीन पर डाउनलोड करने के लिए , इसके बजाय चलाएं:

get /home/pavpanchekha/textfiles/file.txt ~/textfiles/

इसके विपरीत, आप इस तरीके से फाइल भी अपलोड कर सकते हैं। file.txtसर्वर की वर्तमान कार्यशील निर्देशिका में अपनी स्थानीय वर्तमान कार्यशील निर्देशिका से अपलोड करने के लिए, टाइप करें:

put file.txt

आप प्रत्येक के लिए पूर्ण पथों का उपयोग कर सकते हैं जैसे आप कर सकते हैं get:

put ~/textfiles/file.txt /home/pavpanchekha/textfiles/file.txt

उपलब्ध SFTP कमांड की पूरी सूची के लिए, बस प्रॉम्प्ट helpपर चलाएँ sftp>


1
यह बहुत अच्छा है, धन्यवाद। अगर मैं पहले से ही SSH कनेक्शन में हूं तो क्या रिवर्स में लॉन्च करने का कोई तरीका है? नहीं तो मैं खुद को कहीं न कहीं ssh'ing पाता हूं, यह महसूस करते हुए कि मैं एक फाइल ट्रांसफर करना चाहता हूं, SSH कनेक्शन को छोड़ कर, एक SFTP कनेक्शन बना रहा हूं, उस को छोड़ कर और SSH में वापस जा रहा हूं।
पावपंचेखा

2
@ पाव: SSH_CLIENTपर्यावरण चर में अन्य सूचनाओं के बीच कनेक्टिंग होस्ट का आईपी पता होता है। आप आसानी से SFTP को मूल होस्ट में वापस शेल शेल बनाने के लिए उपयोग कर सकते हैं। बस इस लाइन को ~/.bashrcसर्वर पर जोड़ें : alias sftpback="sftp $(echo $SSH_CLIENT | awk '{print $1}')" फिर SSH से डिस्कनेक्ट और रीकनेक्ट करें ताकि परिवर्तन प्रभावी हो, या इसे चलाएं जैसे कि यह एक कमांड था इसलिए यह तुरंत प्रभावी होता है। वहां से, आप बस sftpbackSFTP को उस क्लाइंट पर चला सकते हैं, जिससे आप कनेक्ट कर रहे हैं, चाहे वह कोई भी हो।
पैच

यह सबसे अच्छा है !!! नैनो (मुझे ऑनलाइन संपादन फ़ाइल) से बचाने के लिए धन्यवाद, यह प्रक्रिया को इतना सरल बनाता है।
मोहसिन

0

कंसोल फ़ाइल मैनेजर मिडनाइट कमांडर (mc) में एक VFS सिस्टम है जो SFTP कनेक्शन / फ़ाइल को दूरस्थ सर्वर पर प्रबंधित करने की अनुमति देता है। यह विंडोज पर Cygwin में भी चलता है । डिफ़ॉल्ट इंटरफ़ेस दो स्वतंत्र पैनल दिखाता है; हम उनमें से एक में SFTP दूरस्थ निर्देशिका खोल सकते हैं और आसानी से / दूसरे पैनल से / के लिए फ़ाइलों को स्थानांतरित कर सकते हैं। सिंटैक्स हाइलाइटिंग के साथ एक फ़ाइल संपादक / दर्शक (mcedit) शामिल है।

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