पासवर्ड के बिना ec2 उदाहरण के लिए scp (सुरक्षित प्रतिलिपि)


404

मेरे पास EC2 इंस्टेंस चल रहा है (FreeBSD 9 AMI ami-8cce3fe5), और मैं पासवर्ड प्रॉम्प्ट के बिना अपनी अमेजन निर्मित कुंजी फ़ाइल का उपयोग करके इसमें ssh कर सकता हूं, कोई बात नहीं।

हालाँकि, जब मैं किसी फ़ाइल को उदाहरण के लिए scp का उपयोग करके कॉपी करना चाहता हूँ तो मुझे एक पासवर्ड दर्ज करने के लिए कहा जाता है:

scp somefile.txt -i mykey.pem root@my.ec2.id.amazonaws.com:/

Password:

कोई भी विचार क्यों यह हो रहा है / इसे कैसे रोका जा सकता है?


क्या आप उपयोगकर्ता और होस्ट के लिए समान पहचानकर्ता का उपयोग कर रहे हैं?
लिंच

मुझे यकीन नहीं है कि मैं समझता हूं कि पहचानकर्ता से आपका क्या मतलब है, क्या आप समझा सकते हैं?
हॉफ

यदि एक कनेक्शन के लिए आप एक आईपी पते का उपयोग करते हैं और दूसरे के लिए आप एक नाम का उपयोग करते हैं तो यह काम नहीं करेगा। मैंने अभी देखा कि आप -iअपनी पहचान प्रदान करने के लिए विकल्प का उपयोग करते हैं। हो सकता है कि आपको ssh के साथ लॉग इन करने के लिए आपके द्वारा उपयोग की जाने वाली कमांड को भी दिखाना चाहिए।
लिंच

धन्यवाद लिंच, यह समझ से बाहर!
हॉफ

जवाबों:


804

मैं यह समझ गया। गलत क्रम में मेरे पास तर्क थे। यह काम:

scp -i mykey.pem somefile.txt root@my.ec2.id.amazonaws.com:/

14
जो समझते हैं कि कैसे ssh के माध्यम से ec2 से कनेक्ट करने के लिए, बस pem फ़ाइल के बाद sshकमांड scpफ़ाइल को नाम में जोड़ें और जोड़ें।
क्लाउडियो सैंटोस

11
चूँकि यह उत्तर थोड़ा पुराना है, इसलिए मेरे नए EC2 उदाहरण से एक और ताजा उदाहरण: scp -i kp1.pem ./file.txt ec2-user@1.2.3.4: / home / ec2-user
सिलिकॉनट्रैक

1
@siliconrockstar आपका कथन ec2-user@1.2.3.4:/home/ec2-userआसानी से छोटे और आसान ec2-user@1.2.3.4:./ ./FTW के साथ बदल दिया गया है !
ब्रॉक

2
एक बहुत देर से टिप्पणी, लेकिन क्या @ClaudioSantos सुझाव देता है कि यदि आप एक गैर-मानक पोर्ट का उपयोग कर रहे हैं तो यह वास्तव में काम नहीं करता है। यह ssh के लिए -p और scp के लिए -p है।
इनुकशुक

1
मैं अपने * .PEM फ़ाइल का उपयोग कर सकता हूँ ec2 में ssh। हालाँकि, जब मैं इसे एससीपी फ़ाइल में उपयोग करना चाहता हूं, तो यह मुझे "अनुमति अस्वीकृत" त्रुटि देता है! इसे कैसे हल किया जा सकता है?
अलेक्स_

58
scp -i /path/to/your/.pemkey -r /copy/from/path user@server:/copy/to/path

(-r) पैरामीटर की आवश्यकता नहीं है लेकिन दूरस्थ पथ के अंत से (/) को निकालना आवश्यक है। आपके उदाहरण ने मेरे लिए काम किया, बहुत बहुत धन्यवाद
अब्बास

35

मैंने स्थानीय लिनक्स सेंटोस 7 से एडब्ल्यूएस ईसी 2 तक कॉपी करने के लिए कमांड का उपयोग किया है।

scp -i user_key.pem file.txt ec2-user@my.ec2.id.amazonaws.com:/home/ec2-user

20

बनाना siliconerockstar एक जवाब की टिप्पणी के बाद से यह मेरे लिए काम किया

scp -i kp1.pem ./file.txt ec2-user@1.2.3.4:/home/ec2-user

19
scp -i ~/.ssh/key.pem ec2-user@ip:/home/ec2-user/file-to-copy.txt .

फ़ाइल का नाम pem फ़ाइल और ec2- उपयोगकर्ता स्ट्रिंग के बीच नहीं होना चाहिए - जो काम नहीं करता है। इससे आप कॉपी की गई फ़ाइल का नाम भी आरक्षित कर सकते हैं।


14

फ़ाइल को स्थानीय सर्वर से दूरस्थ सर्वर पर कॉपी करें

sudo scp -i my-pem-file.pem ./source/test.txt ec2-user@1.2.3.4:~/destination/

किसी दूरस्थ सर्वर से किसी स्थानीय मशीन पर फ़ाइल कॉपी करें

sudo scp -i my-pem-file.pem ec2-user@1.2.3.4:~/source/of/remote/test.txt ./where/to/put

तो मूल रूप से वाक्य रचना है: -

scp -i my-pem-file.pem username@source:/location/to/file username@destination:/where/to/put

-iके लिए है identity_file


8

मान लें कि आपकी pem फ़ाइल और somefile.txt जिसे आप भेजना चाहते हैं, डाउनलोड फ़ोल्डर में है

scp -i ~/Downloads/mykey.pem ~/Downloads/somefile.txt root@my.ec2.id.amazonaws.com:~/

मुझे पता है अगर यह काम नहीं करता है


SCP मैं /Users/Username/Downloads/myfile.pem -r ubuntu@my.ect.id.amazonaws.com: ~ / ~ / डेस्कटॉप / मामले में यू सर्वर से स्थानीय करने के लिए स्थानांतरण फ़ाइल करना चाहते हैं
Yatender सिंह

2
धन्यवाद मुझे :/अंत में "एक्सेस अस्वीकृत" मिला , लेकिन इसके साथ :~/काम करता है
इलायची

हाँ क्योंकि: / रूट फ़ोल्डर है और: ~ / उपयोगकर्ता फ़ोल्डर है इसलिए यदि आप रूट उपयोगकर्ता हैं तो: / या: ~ / कुछ भी काम करेगा और यदि आप रूट उपयोगकर्ता नहीं हैं, तो केवल: ~ / आपको उपयोग करना होगा।
यतेंद्र सिंह 12

3

scp -i /home/barkat/Downloads/LamppServer.pem lampp_x64_12.04.tar.gz

यह आप सभी लोगों के लिए बहुत उपयोगी होगा


2

मेरी hadoopec2cluster.pemफ़ाइल मेरे स्थानीय मैक पर निर्देशिका में केवल एक थी, इसका उपयोग करने वाले आरपीएस को नहीं कर सका scp -i hadoopec2cluster.pem hadoopec2cluster.pem ubuntu@serverip:~

Hadoopec2cluster_2.pem के लिए और फिर hadoopec2cluster.pem कॉपी किया गया scp -i hadoopec2cluster.pem hadoopec2cluster_2.pem ubuntu@serverip:~। देखा!


2

मुझे इस पर लटका दिया गया था क्योंकि मैं अपनी सार्वजनिक कुंजी फ़ाइल को निर्दिष्ट कर रहा था

scp -i [private key file path]

जब मैंने उस गलती को पकड़ा और बदले में निजी कुंजी पथ पर बदल दिया, तो मैं पूरी तरह से तैयार था।


2

आपके मामले में, उपयोगकर्ता के rootपास कोई समस्या नहीं होगी। लेकिन कुछ मामलों में जहां आपको SSH के तहत एक अलग उपयोगकर्ता के रूप में लॉगिन करने की आवश्यकता होती है, यह सुनिश्चित करें कि जिस निर्देशिका के लिए आपके पास scpSSH- उपयोगकर्ता हैं उनके लिए पर्याप्त अनुमतियाँ हैं।


1

PSCP का उपयोग करने के लिए, आपको निजी कुंजी की आवश्यकता होती है जिसे आपने अपनी निजी कुंजी का उपयोग करके PuTTYgen में परिवर्तित किया है। आपको अपने लिनक्स उदाहरण के सार्वजनिक DNS पते की भी आवश्यकता है

pscp -i C:\path\my-key-pair.ppk C:\path\Sample_file.txt ec2-user@public_dns:/home/ec2-user/Sample_file.txt

0

इस कोड को लिखें

scp -r -o "ForwardAgent=yes" /Users/pengge/11.vim root@192.168.2.228:/root/

यदि आपके पास गंतव्य सर्वर तक पहुंच के साथ एक एसएसएच कुंजी है और स्रोत सर्वर नहीं है, तो -o "फॉरवर्डएजेंट = हां" को जोड़ने से आप अपने एसएसएच एजेंट को स्रोत सर्वर पर अग्रेषित कर सकेंगे ताकि यह कनेक्ट करने के लिए आपके एसएसएच कुंजी का उपयोग कर सके। गंतव्य सर्वर।


-6

बस परीक्षण किया गया:

निम्न आदेश चलाएँ:

sudo shred -u /etc/ssh/*_key /etc/ssh/*_key.pub

फिर:

  1. ami (ec2 की छवि) बनाएं।
  2. चरण 2 से नई अमी (छवि) से लॉन्च ने नई चाबियों को चुना।
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.