लिनक्स क्लाइंट से विंडोज क्लाइंट में एससीपी कैसे करें


23

मैं एक लिनक्स मशीन में PuTTY का उपयोग कर रहा हूँ और अपने स्थानीय मशीन के लिए कहीं (कहीं भी) एक फ़ाइल को कॉपी करने की कोशिश कर रहा हूँ। मैं समझ SCP इस काम के लिए सबसे अच्छा उम्मीदवार है, लेकिन वास्तव में परवाह नहीं है, इतने लंबे समय के समाधान के रूप में काम करता है!

मुझे cdवह निर्देशिका चाहिए जिसमें मैं चाहता हूँ ( app.warऔर) फ़ाइल टाइप करें:

scp app.war ./

मैंने दोनों का फायदा उठाने की कोशिश की है:

scp app.war ./C:/Users/myUser/
scp app.war ./Users/myUser/

यह सोचकर मुझे लगा कि शायद एससीपी एक क्लाइंट / सर्वर टूल है और मेरे विंडोज मशीन पर क्लाइंट की आवश्यकता होती है, जो वहां नहीं है।

क्या मैं सिर्फ गलत सिंटैक्स का उपयोग कर रहा हूं? या क्या मैं ऑफ-बेस हूं? यदि हां, तो मेरे पास क्या विकल्प हैं? अग्रिम में धन्यवाद!


इस सवाल का असली जवाब यहां है: stackoverflow.com/a/23412501/1579667 । सिंटेक्स हैscp some_file user@host:/c/temp
बेंज

इसके अलावा Bitvise SSH क्लाइंट और सर्वर देखें। यह विंडोज के लिए सबसे पुराने एसएसएच सॉफ्टवेयर में से एक है। ग्राहक एक मुफ्त डाउनलोड और उपयोग करने के लिए स्वतंत्र है।
jww

जवाबों:


25

आदेश में आप अपने विंडोज पर फ़ाइलों को कॉपी करने के लिए आपको अपने विंडोज पर चलने के लिए SSH डेमॉन / सेवा की आवश्यकता है, इस टूल का उपयोग करना बहुत आसान है, इसके लिए पुट्टी से सत्र आयात करने की क्षमता है, बहुत ही सादे फॉरवर्ड क्लाइंट इसे प्यार करना!

WinSCP :: विंडोज के लिए मुफ्त SFTP और FTP क्लाइंट


बस एक भयानक उपकरण :)। इसे प्यार करता था \
_

यह वास्तव में मूल प्रश्न का उत्तर नहीं देता है, जो कमांड-लाइन में रह रहा था। मूल प्रश्न के नीचे मेरी टिप्पणी देखें।
बेंज

@ बीनज ओपी ने WinSCPसमाधान के लिए कहा, उस कार्य के लिए एक अच्छा समाधान है।
एलेक्सा

12

तुम सही हो। SSHD SSH सर्वर सेवाएँ है जो होस्ट पर चलती है। यह SSH क्लाइंट (जैसे PuTTy), SCP क्लाइंट और SFTP क्लाइंट से कनेक्शन स्वीकार करता है।

आप pscpउसी वेबसाइट से डाउनलोड कर सकते हैं जहां PuTTY होस्ट की गई है।

विंडोज़ मशीन से, आप के समान कमांड निष्पादित करेंगे

pscp.exe someuser@somehost.com:/path/to/app.war c:\tmp


2

Windows मशीन के लिए एक फ़ाइल SCP करने के लिए, आपको Windows पर SSH / SCP सर्वर की आवश्यकता होती है।

डिफ़ॉल्ट रूप से विंडोज में कोई एसएसएच / एससीपी समर्थन नहीं है। आप विंडोज ( रिलीज और डाउनलोड ) के लिए ओपनएसएसएच का माइक्रोसॉफ्ट बिल्ड स्थापित कर सकते हैं । यह विंडोज 10 संस्करण 1803 और नए पर वैकल्पिक सुविधा के रूप में उपलब्ध है। इसे मैन्युअल रूप से विंडोज के पुराने संस्करणों पर भी इंस्टॉल किया जा सकता है।

मैंने ओपनएसएसएच के इस माइक्रोसॉफ्ट बिल्ड का उपयोग करके विंडोज पर एसएसएच / एसएफटीपी सर्वर स्थापित करने के लिए एक गाइड तैयार किया है ।

यह भी देखें कि क्या IIS SFTP मूल रूप से विंडोज द्वारा समर्थित है?


यद्यपि आप विंडोज मशीन से लिनक्स सर्वर में एसएसएच करते हैं, आप वास्तव में लिनक्स सर्वर से विंडोज सर्वर पर फाइल डाउनलोड करने के बजाय लिनक्स सर्वर से एक फाइल डाउनलोड कर सकते हैं।

आपके पास विंडोज़ से लिनक्स तक एक एसएसएच एक्सेस है, आपके पास एक एससीपी एक्सेस भी है (या एक बेहतर एसएफटीपी एक्सेस)।

उपलब्ध किसी भी एससीपी / एसएफटीपी ग्राहक का उपयोग करें।

आप WinSCP SFTP / SCP क्लाइंट का उपयोग कर सकते हैं , जिसमें GUI और कमांड-लाइन इंटरफ़ेस दोनों हैं ।

एक अन्य विकल्प PuTTY टूलसेट है, जिसमें ओपनएसएसएच कमांड के समान सिंटैक्स के साथ pscpकमांड-लाइन टूल शामिल है scp। इसके अलावा विंडोज 10 के नवीनतम संस्करण ओपनएसएसएच scpबिल्ट-इन के साथ आते हैं और इसे पुराने संस्करणों पर भी इंस्टॉल किया जा सकता है।

(मैं WinSCP का लेखक हूं)


OSX / Linux के लिए pscp का एक संस्करण है?
कोडिंगनकोब

@codingknob ज़रूर, कई वितरण के लिए "पोटीन" पैकेज है। हालांकि pscpओपनएसएसएच के लिए कार्यात्मक रूप से समान है scp, जो पहले से ही सभी / अधिकांश वितरणों पर आसानी से उपलब्ध है।
मार्टिन प्रिक्रील

1

Windows 10 में अब OpenSSH बनाया गया है। https://docs.microsoft.com/en-us/windows-server/administration/openssh/openssh_install_firstuse

एक व्यवस्थापक कमांड प्रॉम्प्ट प्राप्त करें

Open PowerShell as an Administrator.

उपलब्ध संस्करणों की जाँच करें

Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'

क्लाइंट स्थापित करें

Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0

सर्वर स्थापित करें

Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

सर्वर प्रारंभ करें और बूट पर सक्षम करें

Start-Service sshd
Set-Service -Name sshd -StartupType 'Automatic'

अपना विंडोज आईपी पता खोजें

ipconfig

अपने रिमोट (लिनक्स) मशीन पर, अपना आईपी पता खोजें।

ifconfig

एक सार्वजनिक SSH कुंजी बनाएँ

ssh-keygen.exe

लोकल (विंडोज) से रिमोट (लिनक्स) मशीन से सार्वजनिक कुंजी कॉपी करें ताकि आपको हर समय पासवर्ड टाइप न करना पड़े।

ध्यान दें कि ssh-copy-id वर्तमान में विंडोज पर उपलब्ध नहीं है।

cat C:\Users\YOU/.ssh/id_rsa.pub | ssh USER@REMOTE_IP 'mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys'

अपने लिनक्स मशीन पर भी ऐसा ही करें (ध्यान दें, ssh-copy-id काम नहीं करता है)

ssh-keygen # if needed
cat ~/.ssh/id_rsa.pub | ssh USER@WINDOWS_IP 'mkdir -p ~/.ssh && type con >> C:/Users/YOU/.ssh/authorized_keys'
  • ऊपर दिया गया तरीका मेरे लिए काम नहीं करता था, इसलिए मैंने सार्वजनिक रूप से SCPing को मैन्युअल रूप से समाप्त कर दिया और इसे C: /Users/YOU/.ssh/authorized_keys फ़ाइल में चिपका दिया।

  • यह अभी भी काम नहीं किया, इसलिए मुझे sshd_config फ़ाइल को संशोधित करना पड़ा।

    • प्रशासक के रूप में नोटपैड खोलें

    • % Programdata% \ ssh \ sshd_config खोलें

    • निम्नलिखित पंक्तियाँ जोड़ें:

        Match User YOU
             AuthorizedKeysFile C:/Users/YOU/.ssh/authorized_keys
  • रीबूट

यदि आपके पास पहले से कोई नहीं है, तो विंडोज पर पासवर्ड बनाएं

System Settings...Sign-in options

- ध्यान दें, आप अभी भी विंडोज लॉगिन स्क्रीन को a) द्वारा 'एन्ट्री-इन' ऑप्शन को कभी भी और b में सेट कर सकते हैं। 'netplwiz' कमांड का उपयोग करके और 'यूजर्स को पासवर्ड डालना होगा ...' चेकबॉक्स को अनचेक करें।

अब आप अपने लिनक्स मशीन से एसएसएच या एससीपी के लिए सक्षम होना चाहिए

scp FILE WINDOWS_IP:C:/Users/YOU/Desktop

1

आप विंडोज के लिए लिनक्स उबंटू सबसिस्टम का उपयोग करके ऐसा कर सकते हैं (आपको इसे विंडोज फीचर के रूप में सक्षम करने की आवश्यकता है)। फिर आप एक लिनक्स टर्मिनल क्लाइंट का उपयोग कर सकते हैं जो विंडोज पर माइक्रोसॉफ्ट स्टोर से प्राप्त होता है (जैसे कि उबंटू 16.04 एलटीएस)। फिर, यदि आपके पास अपने लिनक्स मशीन में रिमोट के लिए ssh सिक्योरिटी सेट है, तो आप scpअपने स्थानीय विंडोज उबंटू टर्मिनल (जब आप अपने लिनक्स उदाहरण के लिए सेट किए गए उपयोगकर्ता नाम के रूप में लॉग इन करें) से कुछ इस तरह कर सकते हैं:

scp -i ~/.ssh/my_rsa username@11.11.11.11:~/myfile ~/ ... आरएसए पासफ़्रेज़ दर्ज करें

दूरस्थ फ़ाइल आपके Windows उदाहरण के लिए उपयोग किए गए स्थानीय Ubuntu फ़ाइल सिस्टम में कॉपी की जाएगी

C:\Users\my.username\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu16.04onWindows_79rhkp1fndgsc\LocalState\rootfs\home\my_linux_username


1
विंडोज 10 के नवीनतम संस्करणों में, (Win32-OpenSSH) scp(.exe)बिल्ट-इन है। आपको कुछ भी स्थापित करने की आवश्यकता नहीं है।
मार्टिन प्रिक्रील

-1

चरण 1: pscp
https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html डाउनलोड करें
(आपके मशीन के आधार पर संबंधित संस्करण डाउनलोड करें)

चरण 2: pscp कमांड से परिचित हों।
ऐसा करने के लिए, अपनी विंडोज़ मशीन में कमांड प्रॉम्प्ट खोलें, उस डायरेक्टरी पर जाएँ जहाँ आपने pscp.exe डाउनलोड किया है और "pscp" टाइप करें।

चरण 3: अपने लिनक्स मशीन से विंडोज मशीन में स्थानांतरण फ़ाइल को अपने
कमांड प्रॉम्प्ट को खोलें, और अपना विवरण प्रदान करने के लिए नीचे कमांड चलाएं:

pscp usernameofyourlinuxmachine@10.40.000.000:/path/of/your/File/nameofyourfile.txt ./

और यह कमांड आपके लिनक्स मशीन से आपकी विंडोज मशीन की वर्तमान निर्देशिका में फाइल ट्रांसफर करेगी

चरण 4: अपने विंडोज मशीन से लिनक्स मशीन में स्थानांतरण फ़ाइल को अपने
कमांड प्रॉम्प्ट को खोलें, और अपना विवरण प्रदान करने के लिए नीचे कमांड चलाएं:

pscp nameofyourfile.txt usernameofyourlinuxmachine@10.40.000.000:/path/where/youwantyourfile

मुझे आशा है कि यह स्पष्ट है और आप सभी के लिए काम करता है!


2
लिंक केवल उत्तर देने में असमर्थ हैं क्योंकि वे भविष्य में काम करना बंद कर सकते हैं - वीडियो में वास्तव में चरणों को समझाकर अपने उत्तर का विस्तार करने का प्रयास करें।
djsmiley2k अंधेरे में
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.