এসএমএইচ এবং এসসিপিতে .pem ফাইলের জন্য সঠিক ফাইলের অনুমতি কী


69

আমি আমার এডাব্লুএস উবুন্টু সার্ভারে এসএসএইচ চেষ্টা করেছি এবং ডিরেক্টরিটি আমার স্থানীয় মেশিনে অনুলিপি করেছি। পুরো প্রক্রিয়া জুড়ে আমি বিভিন্ন ফাইল অনুমতি ত্রুটি (নীচে উল্লিখিত) অভিজ্ঞতা।

.Pem ফাইলের জন্য কি একটি নির্দিষ্ট ফাইল অনুমতি দরকার যা আমাকে এসএসএইচ এবং এসসিপিতে অনুমতি দেয়?
অথবা আমার লগইন করার পরে এসএসএইচের জন্য একবার এবং অন্য এসসিপি-র জন্য আরেকবার ফাইলের অনুমতিটি বদলাতে হবে?

আমি যে আদেশগুলি ব্যবহার করছি তা এখানে:

SSH- র:

ssh -i sentiment.pem Todo@54.555.555.555

রিমোট থেকে স্থানীয় কম্পিউটারে অনুলিপি করুন:

scp Todo@54.555.555.555:/home/ubuntu/sentimentfolder /Users/Toga/Desktop/sentimentlocal

আমি একটি ম্যাক ওএস এক্স 10.7.5 এ আছি।


বিচার এবং ত্রুটি:

1.) আমি প্রাথমিকভাবে .pem ফাইলটি ডাউনলোড করার পরে, এর অনুমতিগুলি সেট করা হয়েছিল, আমি মনে করি: 0644

-rw-r - r - @ 1 টোগা স্টাফ 1692 ফেব্রুয়ারী 21 21:27 অনুভূতি.পিএম

আমি তখন টার্মিনালের মাধ্যমে এসএসএইচ চেষ্টা করেছি এবং নিম্নলিখিতগুলি পেয়েছি:

WARNING: UNPROTECTED PRIVATE KEY FILE! 
Permissions 0644 for 'sentiment.pem' are too open.
It is recommended that your private key files are NOT accessible by others.
This private key will be ignored.
bad permissions: ignore key: sentiment.pem
Permission denied (publickey).

২) আমি ফাইলের অনুমতিগুলি এতে আপডেট করেছি: chmod 660 sentiment.pem

আপডেটের পরে, অনুমতিগুলি এতে সেট করা হয়েছিল:

-rw-rw ---- @ 1 টোগা স্টাফ 1692 ফেব্রুয়ারী 21 21:27 অনুভূতি.পিএম

আমি তখন টার্মিনালের মাধ্যমে এসএসএইচ চেষ্টা করেছি এবং নিম্নলিখিতগুলি পেয়েছি:

WARNING: UNPROTECTED PRIVATE KEY FILE! 
Permissions 0660 for 'sentiment.pem' are too open.
It is recommended that your private key files are NOT accessible by others.
This private key will be ignored.
bad permissions: ignore key: sentiment.pem
Permission denied (publickey).

৩.) আমি ফাইলের অনুমতিগুলি এতে আপডেট করেছি: chmod 600 sentiment.pem

আপডেটের পরে, অনুমতিগুলি এতে সেট করা হয়েছিল:

-আরডব্লিউ ------- @ 1 টোগা কর্মী 1692 ফেব্রুয়ারী 21 21:27 অনুভূতি.পিএম

আমি তখন টার্মিনাল দিয়ে এসএসএইচ চেষ্টা করে সফল হই !!

৪) এখন লগ ইন হয়েছে, আমি আমার স্থানীয় কম্পিউটারে রিমোট ডিরেক্টরিটি অনুলিপি করতে একটি কমান্ড চালাচ্ছি:

scp Todo@54.555.555.555:/home/ubuntu/sentimentfolder /Users/Toga/Desktop/sentimentlocal

যা ফেরত:

Permission denied (publickey).

এসসিপি কমান্ড চেষ্টা করেছে:

১) কমান্ড -i যোগ করে এবং .pem ফাইলটি উল্লেখ করেছে:

scp -i sentiment.pem Todo@54.555.555.555: / হোম / উবুন্টু / সেন্টিমেন্টফোল্ডার / ব্যবহারকারী / টোগা / ডেস্কটপ / সেন্টিমেন্টলোকাল

২) কমান্ড -i যোগ করে, .pem ফাইলটি রেফারেন্স করেছে এবং AWS এর জন্য ব্যবহারকারীকে ec2- ব্যবহারকারীতে পরিবর্তন করেছে:

scp -i sentiment.pem ec2-user@54.555.555.555: / হোম / উবুন্টু / সেন্টিমেটফোল্ডার / ব্যবহারকারী / টোগা / ডেস্কটপ / সেন্টিমেন্টলোকাল

৩) কমান্ড -i যোগ করে, .pem ফাইলম রেফারেন্স করেছে, AWS এর জন্য ব্যবহারকারীকে ec2- ব্যবহারকারীতে পরিবর্তন করেছে এবং .pem ফাইলের অবস্থানের জন্য সম্পূর্ণ ফাইলের পথ যুক্ত করেছে:

স্কিপ-আই / ইউজার / টোগা / ডেস্কটপ / রোলআপ / পার্সোনাল / সিরিয়াল_প্রজেক্ট_সেটের / এসেন্টিমেট / এসেন্টিমেট.পিএম ec2-user@54.555.555.555: / হোম / উবুন্টু / সংবেদন / ব্যবহারকারী / টোগা / ডেস্কটপ / সংবেদনশীল স্থান


আপনাকে স্কিপকে .pem ফাইলটি ব্যবহার করতে বলতে হবে
ড্যানিয়েল কুলম্যান

এটি ডানিয়েলকুলম্যানকে কল করার জন্য আপনাকে ধন্যবাদ জানায় যে এটি উপলব্ধি করে। আমি কমান্ডগুলির সংমিশ্রণটি চেষ্টা করেছি যা .pem ফাইলটিকে সরাসরি উল্লেখ করে তবে কিছুই এখনও কাজ করেনি। আমি প্রশ্নটি আপডেট করেছি যার শিরোনামে একটি বিভাগ: "এসসিপি কমান্ডস চেষ্টা করা হয়েছে" আমি কী চেষ্টা করেছি তা তালিকাভুক্ত করতে। আপনি যদি বিকল্প কমান্ড করেন তবে দয়া করে আমাকে জানান। ধন্যবাদ.
জর্জ জেস্টার

উত্তর:


110

এখানে এসএসএইচ ব্যবহার করে দূরবর্তী আমাজন ইসি 2 এর সাথে কীভাবে সংযুক্ত করবেন তা এখানে যান বা নীচে উল্লেখ করুন।

দূরবর্তীভাবে এসএসএইচ ব্যবহার করে অ্যামাজন ইসি 2 এ কীভাবে সংযুক্ত করবেন:

  1. .Pem ফাইলটি ডাউনলোড করুন।
  2. অ্যামাজন ড্যাশবোর্ডে বাম পাশের বার থেকে "উদাহরণগুলি" চয়ন করুন এবং তারপরে আপনি যে দৃষ্টিতে সংযোগ করতে চান তা নির্বাচন করুন।
  3. "পদক্ষেপ" ক্লিক করুন, তারপরে "সংযোগ" নির্বাচন করুন
  4. "একটি স্বতন্ত্র এসএসএইচ ক্লায়েন্টের সাথে সংযুক্ত করুন" এ ক্লিক করুন
  5. একটি টার্মিনাল উইন্ডো খুলুন
  6. একটি ডিরেক্টরি তৈরি করুন:

    # mkdir -p ~/.ssh
    
  7. আমরা সদ্য তৈরি .ssh ডিরেক্টরিতে ডাউনলোড করা .pem ফাইলটি সরান:

    # mv ~/Downloads/ec2private.pem ~/.ssh
    
  8. .Pem ফাইলের অনুমতিগুলি পরিবর্তন করুন যাতে কেবল রুট ব্যবহারকারীরা এটি পড়তে পারেন:

    # chmod 400 ~/.ssh/ec2private.pem
    
  9. একটি কনফিগার ফাইল তৈরি করুন:

    # vim ~/.ssh/config
    

    নিম্নলিখিত কনফিগারেশন ফাইলটিতে পাঠ্য প্রবেশ করুন:

    Host *amazonaws.com
    IdentityFile ~/.ssh/ec2private.pem
    User ec2-user
    

    ফাইলটি সংরক্ষণ করুন।

  10. আপনার দৃষ্টান্তের সাথে সংযোগ করতে আপনার পাবলিক ডিএনএস হোস্টনামের সাথে ssh কমান্ডটি ব্যবহার করুন।
    উদাহরণ:

    # ssh ec2-54-23-23-23-34.example.amazonaws.com
    

1
আমি কৌতূহলী: কেন ডাউনটা?
এরিক

1
আমি এটিকে ভোট দেইনি। এটি আসলে সহায়ক দেখায়, নিশ্চিত নয় যে এটি দূরবর্তী থেকে আমার স্থানীয় কমপ থেকে স্কিপ করার দরকার পরে সমস্যাটি সমাধান করবে কিনা। আমি এটি চেষ্টা করে দেখব কী হয়। ধন্যবাদ বাবিন
জর্জ জেস্টার

কোনও সম্পূর্ণ ডিরেক্টরি এবং এর সামগ্রীগুলি অনুলিপি করার সময় scp -r
বাহামত

1
দুর্দান্ত উত্তর। পেমকে ঘোরানো এড়াতে, আপনি ব্যবহারের জন্য পাবলিক কী নির্দিষ্ট করতে ssh -i পতাকা ব্যবহার করতে পারেন। উদাহরণস্বরূপ: ssh -i पथ / to / ec2private.pem ec2-54-23-23-23-34.example.amazonaws.com
মাফ্রো 34

14

chmod 400 {keyfile}.pem আমাজন কি নির্দেশিত এবং এটি কাজ করে।


এটিই আমি উত্তরটি খুঁজছিলাম, গৃহীত উত্তরের সমস্ত নির্দেশাবলীর ভাল অনুশীলন ... তবে সমস্যার সাথে অপ্রাসঙ্গিক।

3

দেখে মনে হচ্ছে আপনার আইপি ঠিকানা ব্যবহার করার কথা নয়, এসসিপি কমান্ডে সিস্টেমের পুরো হোস্ট নাম। অ্যাডাব্লুএস ডকস "এসসিপি সহ লিনাক্স / ইউনিক্স থেকে লিনাক্স / ইউনিক্স উদাহরণগুলিতে ফাইল স্থানান্তর করা" বিভাগের অধীনে http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AccessingInferencesLinux.html এ এটি বর্ণনা করে ।

এবং -rডিরেক্টরি কপি করতে ব্যবহার করুন ।

এবং নোট করুন যে ডিফল্ট ব্যবহারকারীর নাম বিভিন্ন চিত্রের জন্য পৃথক:

অ্যামাজন লিনাক্সের জন্য, ডিফল্ট ব্যবহারকারীর নাম ec2-user। RHEL5- এর জন্য ব্যবহারকারীর নাম প্রায়শই rootতবে তা হতে পারে ec2-user। উবুন্টুর জন্য, ব্যবহারকারীর নাম ubuntu। SUSE লিনাক্স জন্য ব্যাবহারকারী নাম root। অন্যথায়, আপনার এএমআই সরবরাহকারীর সাথে চেক করুন।

সুতরাং, এই কমান্ডটি ব্যবহার করুন:

scp -r -i  /Users/Toga/Desktop/rollup/Personal/Serial_Project_Starter/sentiment/sentiment.pem ubuntu@ec2-xx-xx-xx-xx.compute-x.amazonaws.com:~/sentiment /Users/Toga/Desktop/sentimentlocal

1
সঠিক ব্যবহারকারীর নামটি ব্যবহার করার জন্য আমার জন্য একটি দুর্দান্ত স্ম্যাক স্মৃতি। উপরের ত্রুটিটি পান এবং উবুন্টু দৃষ্টান্তগুলিতে উবুন্টু ব্যবহারকারীটি ব্যবহার করা আমার মনে রাখা দরকার।
md_rasler

2

"অনুমতি অস্বীকৃত (পাবলিককি)" রিমোট সার্ভার থেকে এসেছে, সুতরাং আপনি হয় ভুল কীটি ব্যবহার করছেন, এটি সংযোগ করার অনুমতি নেই অথবা দূরবর্তী অনুমোদিত_কিজ ফাইলে টাইপো রয়েছে।


2
chmod 0400 pemfile.pem

এবং

ssh -i path_to_pem_file -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no ec2-machine name

3
দয়া করে আপনার sshআদেশটি ব্যাখ্যা করুন (এবং সম্ভব হলে একটি রেফারেন্সও সরবরাহ করুন)। বিটিডব্লিউ, chmod 400নয় মাস আগে একটি উত্তর দেওয়া হয়েছিল।
স্কট
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.