একটি আমাজন Ec2 উদাহরণে এসএসএইচ চেষ্টা করা হচ্ছে - অনুমতি ত্রুটি


745

এটি সম্ভবত কারও কাছে বোকামির মতো সহজ প্রশ্ন :)

আমি অ্যামাজন ইসি 2 তে একটি নতুন লিনাক্স উদাহরণ তৈরি করেছি এবং এর অংশ হিসাবে আমাকে এসএসএইচ করার অনুমতি দেওয়ার জন্য .pem ফাইলটি ডাউনলোড করেছে।

যখন আমি এর সাথে প্রহার করার চেষ্টা করেছি:

ssh -i myfile.pem <public dns>

আমি পেয়েছি:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0644 for 'amazonec2.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: amazonec2.pem
Permission denied (publickey).

এই পোস্টটি অনুসরণ করে আমি পিএম ফাইলটি +600 chmod করার চেষ্টা করেছি, তবে এখন যখন আমি এসএসএস করি তখনই আমি পেয়ে যাব:

Permission denied (publickey).

আমি এখানে কোন স্কুল-ছেলের ত্রুটি করছি? .Pem ফাইলটি আমার বাড়ির ফোল্ডারে (অসক্সে) রয়েছে। এটির অনুমতিগুলি এর মতো দেখাচ্ছে:

-rw-------@   1 mattroberts  staff    1696 19 Nov 11:20 amazonec2.pem

2
আপনি যখন ভুল পেম ফাইল ব্যবহার করছেন তখন এই ত্রুটিটিও আসে।
রাহুল প্রসাদ

এছাড়াও আপনি নিশ্চিত করুন যে আপনি তৈরির পরে আপনার উদাহরণটি তৈরি করেছেন এবং ব্যবহারের জন্য মনোনীত কী হিসাবে কী জুটিটি নির্বাচন করেছেন। আমি অন্য উপায়ে এটি করেছি।
গ্যারি

আমি উইনসিসিপিতে উইন্ডোজে আছি। নেই কিছুই করার সঙ্গে chmod 400 myfile.pemযেমন ব্যবহার myfile.ppkPEM ফাইল থেকে PuTTYgen দ্বারা উত্পন্ন।
চিতাবাহন

আপনি যখন সঠিক ব্যবহারকারীর সাথে লগইন করছেন না তখন এই ত্রুটিটিও ঘটতে পারে;)
andrea06590

উত্তর:


1459

ফাইলটিতে সমস্যাটি ভুল রয়েছে।

কার্যকর করে সহজেই সমাধান করা -

chmod 400 mykey.pem

আমাজনের নির্দেশাবলী থেকে নেওয়া -

আপনার কী ফাইলটি এসএসএইচকে কাজ করার জন্য সর্বজনীনভাবে দেখা যায় না। প্রয়োজন হলে এই কমান্ডটি ব্যবহার করুন: chmod 400 mykey.pem

400 এটিকে কেবল এবং কেবলমাত্র মালিকের কাছে পড়ার দ্বারা সুরক্ষিত করে।


3
অনেক ধন্যবাদ! Chmod 400 কি করে? মাইকি.পেম?
কোস্টা

19
400 এটিকে কেবল এবং কেবলমাত্র মালিকের কাছে পড়ার দ্বারা সুরক্ষিত করে।
কোফ

1
এর পরে আমি "সতর্কতা: পরিচয় ফাইল ব্লেবলা.পিএম অ্যাক্সেসযোগ্য নয়: আমি যখন ssh -l USERNAME_HERE -i .ssh / yourkey.pem সর্বজনীন- ec2- হোস্ট করি তখন এ জাতীয় কোনও ফাইল বা ডিরেক্টরি নেই"।
coolcool1994

3
এই আদেশটি + ssh -i YOUR_PEM_FILE.pem ec2-user@YOUR_IPসমস্যার সমাধান করেছে। হতে পারে এটি গ্রহণযোগ্য উত্তর হওয়া উচিত ...
c4k

1
আমি কীভাবে উইন্ডোজের জন্য একই চালাতে পারি?
আহসান মুখতার

262

লগইন করতে আপনি সম্ভবত ভুল ব্যবহারকারীর নাম ব্যবহার করছেন:

  • বেশিরভাগ উবুন্টু ছবিতে একজন ব্যবহারকারী থাকে ubuntu
  • আমাজনের এএমআই হ'ল ec2-user
  • বেশিরভাগ ডেবিয়ান চিত্রের হয় rootবা হয়admin

লগইন করতে আপনার ssh কমান্ডটি সামঞ্জস্য করতে হবে:

ssh -l USERNAME_HERE -i .ssh/yourkey.pem public-ec2-host

আছে HTH


30
অথবা ssh -i
key.pem

43
ত্রুটি বার্তায় এটি সমস্তই বলা হয়: .pem সার্ট ফাইলটি যথেষ্ট সুরক্ষিত নয়। নীচে প্রস্তাবিত হিসাবে chmod 400 xyz.pem করুন।
allprog

1
আমার জন্য সমস্ত প্লাগই কেবল এটি বলার কারণ Permission denied (publickey).এবং অন্য কিছুই নয় ...
আরম কোচার্যান

1
আমি সমস্যাটি খুঁজে পেয়েছি - আমি একই কীটি ব্যবহার করছিলাম না যা আমি উদাহরণটি তৈরি করেছি
আরম কোচার্যান

12
এটি সমাধান নয় - ডিফল্টরূপে ডাউনলোড কী ফাইলটিতে ফাইল অনুমতিগুলি 844। 400 chmod 500 <path_to_pem_file>হওয়া উচিত এটি করা উচিত।
এলাদ মাইদার

62

আমি জানি এটি গেমটির জন্য খুব দেরি হয়ে গেছে ... তবে এটি সর্বদা আমার পক্ষে কাজ করে:

ধাপ 1

ssh-add ~/.ssh/KEY_PAIR_NAME.pem

পদক্ষেপ 2, কেবল এসএসএস করুন :)

ssh user_name@<instance public dns/ip>

যেমন

ssh ec2-user@ec2-198-51-100-1.compute-1.amazonaws.com

আশা করি এটি কাউকে সাহায্য করবে


"ssh-add" ঠিক কি * .pem ফাইলটি cop / .ssh ফোল্ডারে অনুলিপি করার মতো?
レ ッ ク

1
>> কেবল * .pem ফাইলটি ~ / .ssh ফোল্ডারে অনুলিপি করা একই নয়, আপনাকে অবশ্যই ফোল্ডারে যুক্ত করতে হবে এবং তারপরে ssh-add কমান্ড চালাতে হবে।
সুপার_পি

গেমটির খুব দেরিতে, তবে কিছু স্পষ্টতা যোগ করার জন্য ... 1. pe / .ssh ডিরেক্টরিতে .pem ফাইল যুক্ত করুন (প্রয়োজনে এটি তৈরি করুন), 2. প্রমাণীকরণে পরিচয় যুক্ত করতে ssh-add কমান্ডটি ব্যবহার করুন প্রতিনিধি; এর অর্থ ssh ব্যবহার করার সময় কখনই .pem ফাইলটি নির্দিষ্ট করা উচিত নয়
ইয়ান

2
Ssh- যোগ করার পরে ¬ / .ssh / key.pem; ত্রুটি পাওয়া আপনার প্রমাণীকরণ এজেন্টের সাথে কোনও সংযোগ খুলতে পারেনি। Eval ssh-agent -sরিপোর্ট SSH_AGENT_PID = 3409; ssh-add উপরের মতো একই ত্রুটি দেয় ......... কোনও সহায়তা এখানে plz
তারিক

বাহ তা আমার ভিপিএসের সাথে আমার সমস্ত ভবিষ্যতের সংযোগের জন্য খুব সুবিধাজনক হবে। ধন্যবাদ সাথী :)
আহমদ মোশতাক

36

ঠিক আছে, আমার পক্ষে একমাত্র কাজটি ছিল:

  1. কীটির অনুমতি পরিবর্তন করুন

    chmod 400 mykey.pem

  2. ইসি 2-ব্যবহারকারী এবং সঠিক ই -2-99 ... ঠিকানা ব্যবহার করে লগ ইন করার বিষয়টি নিশ্চিত করুন । আপনি লগ ইন এবং আপনার উদাহরণটি তালিকাভুক্ত দেখলে ec2-99 ঠিকানাটি অ্যাডস কনসোলের নীচে থাকে

    ssh -i mykey.pem ec2-user@ec2-99-99-99-99.compute-1.amazonaws.com


আমি ec2-99 ঠিকানা খুঁজে পাই না। তুমি কি আমাকে সাহায্য করবে?
আদিল মালিক

1
chmod 400 mykey.pem নিম্নরূপে উবুন্টুতে লগইন করুন: ssh -i mykey.pem ubuntu@SERVER.amazonaws.com
গাল

27

এই নিবন্ধটি একবার দেখুন । আপনি সর্বজনীন ডিএনএস নয় বরং ফর্মটি ব্যবহার করেন

ssh -i your.pem root@ec2-XXX-XXX-XXX-XXX.z-2.compute-1.amazonaws.com

যেখানে আপনার এএমআই প্যানেলে নামটি দৃশ্যমান


নিবন্ধটির জন্য চিয়ার্স, খুব দরকারী!
ম্যাট রবার্টস

সামান্য উন্নতি: রুট আউজ হিসাবে লগ ইন করার চেষ্টা করার সময় নিম্নলিখিতগুলি অনুরোধ জানানো হয়: "দয়া করে রুট ব্যবহারকারীর পরিবর্তে ইক্য 2-ব্যবহারকারী ব্যবহারকারী হিসাবে লগইন করুন।"
আন্দ্রে শোয়েঘোফার

কীভাবে আমি জানতে পারি যে আমার ec2-XXX-XXX-XXX-XXX.z-2.compute-1.amazonaws.com কী?
レ ッ ク

ম্যানেজমেন্ট কনসোল> ইসি 2> উদাহরণ এবং আপনার দৃষ্টান্তটি নির্বাচন করুন।
পুনরায় 7

'রুট @' হ'ল এই উত্তরটিতে প্রত্যেকে নিখোঁজ রয়েছে। আপনার সাহায্য! যে, এবং chmod।
লর্ডবি 8 আর


13

উইন্ডোতে আপনি পেম ফাইলের বৈশিষ্ট্যগুলিতে যেতে পারেন এবং সুরক্ষা ট্যাবে যেতে পারেন, তারপরে অগ্রিম বোতামটি যেতে।

উত্তরাধিকার এবং সমস্ত অনুমতিগুলি সরিয়ে দিন। তারপরে নিজেকে পুরো নিয়ন্ত্রণ দান করুন। পরে সমস্ত এসএসএল আপনাকে আবার একই ত্রুটি দেয় না।


7

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

sudo ssh -i amazonec2.pem ec2-xxx-xxx-xxx-xxx.us-west-2.compute.amazonaws.com

একবার আপনি এটি করার পরে আপনি এই জাতীয় বার্তা পাবেন:

Please login as the user "ec2-user" rather than the user "root"

যা খুব কমই দলিলযুক্ত। সেক্ষেত্রে কেবল এটি করুন:

sudo ssh -i amazonec2.pem ec2-xxx-xxx-xxx-xxx.us-west-2.compute.amazonaws.com -l ec2-user

এবং আপনি মহিমান্বিত পাবেন:

   __|  __|_  )
   _|  (     /   Amazon Linux AMI
  ___|\___|___|

2
ধন্যবাদ .. উপরে উল্লিখিত সমস্ত অপশন চেষ্টা করার পরেও ত্রুটি পাচ্ছিলাম। সুডোর সাথে এসএসএস চালানো আমার পক্ষে কাজ করেছিল।
গুরশরণ সিং

আমি কেন এটি সুডোতে চালাতে হবে তা জানতে চাই। আমি chmod 400 xyz.pem চেষ্টা করেছি, তবে এটি কোনও লাভ হয়নি।
স্যামুয়েল ডোমিংয়েজ

6

ম্যাক টার্মিনালে, "chmod 400 xyz.pem" করা আমাকে সাহায্য করে না, এটি অনুমতি অস্বীকার করে বলে চলেছে। উবুন্টু ব্যবহারকারীদের জন্য আমি পরামর্শ দেব

  1. ssh-add xyz.pem
  2. ssh -i xyz.pem ubuntu@ec2-54-69-172-118.us-west-2.compute.amazonaws.com (লক্ষ্য করুন ব্যবহারকারী উবুন্টু)

4

এসএসএইচ কী এবং ফাইল অনুমতি সেরা অনুশীলন:

  • .ssh ডিরেক্টরি - 0700 (কেবল মালিকের দ্বারা)
  • ব্যক্তিগত কী / .pem ফাইল - 0400 (কেবল মালিকের দ্বারা পঠিত)
  • সর্বজনীন কী / .পব ফাইল - 0600 (কেবল মালিকের দ্বারা পঠন এবং লিখুন)

    chmod XXXX file/directory


3

ssh -i /.pem ব্যবহারকারী @ হোস্ট-মেশিন-আইপি

আমার মনে হয় এটি কারণ আপনি ভুল শংসাপত্রগুলি প্রবেশ করেছেন বা আপনি ব্যক্তিগত কী ব্যবহারের পরিবর্তে একটি পাবলিক কী ব্যবহার করছেন বা, আপনার বন্দরের অনুমতিগুলি সমস্ত কিছু স্ল্যাশ করার জন্য উন্মুক্ত। এটি অ্যামাজনের পক্ষে খারাপ।


3

পুতি ব্যবহার করে বিকল্প লগ-ইন- এটি ভাল তবে কয়েকটি ধাপ দরকার।

  1. আপনার .pem তৈরি করুন যা আপনি প্রথম EC2 দৃষ্টান্ত তৈরি করার সময় তৈরি করেছিলেন।
  2. পুটিটিওয়াই .পিএম পড়েন না বলে পুটিজেন ব্যবহার করে .pem ফাইল .ppk রূপান্তর করুন ।
  3. পুটিটি খুলুন এবং আপনার হোস্টের নামটি প্রবেশ করান যা আপনার উদাহরণ ব্যবহারকারী নাম + সর্বজনীন ডিএনএস (উদাঃ ubuntu@ec2-xxx-xxx-xxx-xxx.region.compute.amazonaws.com)। আপনার AWS অ্যাকাউন্ট ব্যবহারকারীর নাম নয়।
  4. তারপরে সংযোগ> এসএসএইচ> অথিতে নেভিগেট করুন । তারপরে আপনার .ppk ফাইলটি যুক্ত করুন। ব্রাউজ ক্লিক করুন যেখানে এটি "প্রমাণীকরণের জন্য ব্যক্তিগত কী ফাইল" বলছে ।
  5. ওপেন ক্লিক করুন এবং আপনার সাথে সাথে সংযোগ স্থাপন করতে সক্ষম হওয়া উচিত।

আমি উইন্ডোতে পিটিটিওয়াই 0.66 ব্যবহার করছি।


এটি কাজ করে, তবে কমান্ড লাইন থেকে ssh সংযোগটি সরাসরি কাজ করার কোনও উপায় আছে?
এরিয়েল

3

অন্যান্য উত্তরগুলির পাশাপাশি, এটি কাজ করার জন্য আমি এখানে যা করেছি:

  • .Ssh ফোল্ডারে কীটি অনুলিপি করুন যদি আপনার এখনও না থাকে:

cp key.pem ~/.ssh/key.pem

  • কীটিকে যথাযথ অনুমতি দিন

chmod 400 ~/.ssh/key.pem

eval `ssh-agent -s` ssh-add

  • তারপরে, কীটি যুক্ত করুন

ssh-add ~/.ssh/key.pem

এখন আপনার ইসি 2 এসএস করতে সক্ষম হওয়া উচিত (:


2

Chmod 400 yourkeyfile.pem করুন যদি আপনার উদাহরণটি অ্যামাজন লিনাক্স হয় তবে উবুন্টু ssh-i yourkeyfile.pem উবুন্টু @ আইপি এর জন্য সেন্টস ssh -i yourkeyfile.pem সেন্টোস @ আইপি এর জন্য ssh -i yourkeyfile.pem ec2- ব্যবহারকারী @ আইপি ব্যবহার করুন


2

এই ত্রুটির পিছনে তিনটি কারণ থাকতে পারে।

  1. আপনি একটি ভুল কী ব্যবহার করছেন।
  2. আপনার কীতে সঠিক অনুমতি নেই। আপনার এটি 400 এ ছোড করা দরকার।
  3. আপনি ভুল ব্যবহারকারী ব্যবহার করছেন। উবুন্টু চিত্রগুলির একটি ব্যবহারকারী উবুন্টু রয়েছে , অ্যামাজনের এএমআই হ'ল ই-সি-ব্যবহারকারী এবং ডেবিয়ান চিত্রগুলির মূল বা প্রশাসক রয়েছে

2

আমার জন্য সমস্যাটি ছিল আমার .pem ফাইলটি আমার একটি এনটিএফএস পার্টিশনে ছিল। আমি এটিকে আমার লিনাক্স পার্টিশনে (এক্সট 4) স্থানান্তরিত করেছি।

চালিয়ে প্রয়োজনীয় অনুমতি দেওয়া:

chmod 400 my_file.pem

এবং এটা কাজ করে.


2

ভাল, আপনার পোস্টের বিবরণটি দেখে আমার মনে হয় আপনার দ্বারা 2 টি ভুল হয়েছে: -

  1. ব্যক্তিগত কীটির জন্য সঠিক অনুমতি সেট করুন । নীচে কমান্ড আপনাকে সঠিক ফাইল অনুমতি সেট করতে সহায়তা করবে।

    chmod 0600 mykey.pem

  2. আপনি লগইন করার চেষ্টা করছেন ভুল ই সি 2 ব্যবহারকারী

    আপনার ডিবাগ লগটি দেখে আমি মনে করি আপনি একটি অ্যামাজন লিনাক্স উদাহরণ তৈরি করেছেন। এই উদাহরণের জন্য ডিফল্ট ব্যবহারকারী হ'ল ec2-user। উদাহরণটি যদি উবুন্টু হয়ে থাকে তবে আপনার ডিফল্ট ব্যবহারকারী হতেন ubuntu

    ssh -i privatekey.pem default_ssh_user@server_ip

Note:
   For an Amazon Linux AMI, the default user name is ec2-user.

   For a Centos AMI, the default user name is centos.

   For a Debian AMI, the default user name is admin or root.

   For a Fedora AMI, the default user name is ec2-user or fedora.

   For a RHEL AMI, the default user name is ec2-user or root.

   For a SUSE AMI, the default user name is ec2-user or root.

   For an Ubuntu AMI, the default user name is ubuntu.

   Otherwise, if ec2-user and root don't work, check with the AMI provider.

উত্স: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AccessingInferencesLinux.html


1

চেকলিস্ট:

  1. আপনি কি সঠিক বেসরকারী কী .pem ফাইলটি ব্যবহার করছেন?

  2. এর অনুমতিগুলি কি সঠিকভাবে সেট করা আছে? (আমার অ্যামাজন-ব্র্যান্ডের এএমআইগুলি 4৪৪ এর সাথে কাজ করে, তবে লাল টুপি অবশ্যই কমপক্ষে or০০ বা 400 হওয়া উচিত U উবুন্টু সম্পর্কে জানেন না))

  3. আপনি কি আপনার ssh লাইনে সঠিক ব্যবহারকারীর নাম ব্যবহার করছেন? অ্যামাজন ব্র্যান্ডযুক্ত = "ইক 2-ব্যবহারকারী", রেড হ্যাট = "রুট", উবুন্টু = "উবুন্টু"। ব্যবহারকারী "ssh -i pem ব্যবহারের নাম @ হোস্টনাম" বা "ssh -l ব্যবহারকারীর নাম -i পেম হোস্টনেম" হিসাবে নির্দিষ্ট করা যেতে পারে


1

কেবল অনুমোদিত ব্যবহারকারীদের জন্য পেরেম ফাইলের অনুমতিটি 0600 এ পরিবর্তন করুন এবং এটি কবজির মতো কাজ করবে।

sudo chmod 0600 myfile.pem

এবং তারপরে চেষ্টা করুন এটি পুরোপুরি কার্যকর হবে।

ssh -i myfile.pem <<ssh_user>>@<<server>>

1

BY ডিফল্ট অনুমতি পেম কীকে মঞ্জুরি দিচ্ছে না। আপনাকে কেবল অনুমতিটি পরিবর্তন করতে হবে:

chmod 400 xyz.pem

এবং যদি উবুন্টু উদাহরণটি ব্যবহার করে তবে এটি ব্যবহার করে সংযুক্ত করুন:

ssh -i xyz.pem ubuntu@ec2-youraws.amazonaws.com


1

কী ফাইলটি সর্বজনীনভাবে দেখতে পারা উচিত নয় তাই 400 ব্যবহারের অনুমতিটি ব্যবহার করুন

chmod 400 keyfile.pem

যদি উপরের কমান্ডটি অনুমতি ত্রুটি ব্যবহার দেখায়

sudo chmod 400 keyfile.pem

এখন ইসি 2 মেশিনে এসএসএস করুন, আপনি যদি এখনও সমস্যার মুখোমুখি হন তবে ইসি 2-ব্যবহারকারী ব্যবহার করুন

ssh -i keyfile.pem ec2-user@ec2-12-34-56-78.compute-1.amazonaws.com


1

.400 এটিকে কেবল এবং কেবলমাত্র মালিকের কাছে পড়ার দ্বারা সুরক্ষা দেয়।
আপনি ASW গাইড থেকে উত্তরটি পেতে পারেন from

chmod 400 yourPrivateKey.pem

এখানে চিত্র বর্ণনা লিখুন


0

লিনাক্স ব্যবহারকারীদের .pem ফাইল ব্যবহার করে সার্ভারের সাথে সংযোগ স্থাপনের জন্য সহজ পদক্ষেপগুলি নিম্নলিখিত:

পদক্ষেপ 1: পেম ফাইলের অবস্থানের জন্য এবং এটিকে ঘরে .ssh অবস্থানে অনুলিপি করুন।

cp example.pem ~/.ssh/example.pem

পদক্ষেপ 2: অনুমতি পরিবর্তন করুন

chmod 400 ~/.ssh/example.pem

স্টিপি 3: নিম্নলিখিত কমান্ডটি চালান

ssh -i ~/.ssh/example.pem ec2-user@host.com

যেহেতু এই কমান্ডটি দীর্ঘায়িত তাই আপনি নিম্নলিখিত কমান্ডগুলি ব্যবহার করে এর নামটি তৈরি করুন:

 vim ~/.bashrc

নিম্নলিখিত কমান্ডটি শেষের দিকে লিখুন।

alias sshConnect='ssh -i ~/.ssh/example.pem ec2-user@host.com'

এখন আপনার সিস্টেমটি পুনরায় চালু করুন এবং sshConnectআপনার সার্ভারের সাথে সংযোগ রাখতে ব্যবহার করুন ।


0

এটি আপনার অ্যাউস পেম কী সহ কেবলমাত্র একটি অনুমোদিত সমস্যা।

কেবল নীচের কমান্ডটি ব্যবহার করে পেম কী এর অনুমতিটি 400 এ পরিবর্তন করুন।

chmod 400 pemkeyname.pem

আপনার যদি কোনও ফাইলের অনুমতি পরিবর্তন করার অনুমতি না থাকে তবে আপনি নীচের কমান্ডের মতো sudo ব্যবহার করতে পারেন।

sudo chmod 400 pemkeyname.pem

আমি আশা করি এটি ভাল কাজ করা উচিত।


0

আমি এই ইস্যুটির পিছনে দুটি কারণ দেখেছি

1) অ্যাক্সেস কী এর সঠিক অনুমতি নেই। ডিফল্ট অনুমতি সহ পেম কীগুলিকে একটি নিরাপদ সংযোগ করার অনুমতি নেই। আপনাকে কেবল অনুমতিটি পরিবর্তন করতে হবে:

chmod 400 xyz.pem

2) এছাড়াও আপনি সঠিক ব্যবহারকারীর শংসাপত্রগুলি দিয়ে লগ ইন করেছেন কিনা তাও পরীক্ষা করে দেখুন। অন্যথায় সংযোগের সময় sudo ব্যবহার করুন

sudo ssh -i {keyfile} ec2-user @ remote দূরবর্তী হোস্টের আইপি ঠিকানা}


0

আপনার কীটি এসএসএইচকে কাজ করার জন্য সর্বজনীনভাবে দেখতে পারা উচিত নয়। প্রয়োজনে এই আদেশটি ব্যবহার করুন:

chmod 400 Interview-apps.pem

Connect to your instance using its Public DNS:

ec2-**-***-***-***.us-west-2.compute.amazonaws.com

উদাহরণ:

ssh -i "Interview-apps.pem" ec2-user@ec2-**-***-***-***.us-west-2.compute.amazonaws.com

0

দয়া করে এই উত্তরটি যদি আপনার কাছে অপ্রাসঙ্গিক হয় তবে তা অগ্রাহ্য করুন, তবে আমার অভিজ্ঞতা থেকে আমি মানুষকে সমস্যা দেখা দেখেছি Permission denied (publickey)কারণ তারা প্রথম জনচিহ্ন ছাড়াই তাদের পাবলিক কী (একটি টার্গেট মেশিনে) পেস্ট করেছিল !

কীটি সম্পাদনা করতে (পেস্ট করুন) ভিম ব্যবহার করার সময় এটি ঘটে । যেহেতু ডিফল্টরূপে ভিআইএম কমান্ড মোডে খোলে ( সন্নিবেশ মোডে নয় ), একটি সন্নিবেশ মোডে স্যুইচ না করে কীটি আটকানো (যেমন i) প্রথম sঅক্ষরটি এড়িয়ে যাবে , যেমন পরিবর্তে

ssh-rsa <key>

আপনি পেস্ট শেষ

sh-rsa <key>

সুতরাং অন্যান্য সমাধানগুলি চেষ্টা করার আগে দেখুন আপনি কীটি সঠিকভাবে আটকে দিয়েছেন কিনা ! অর্থাত

cat ~/.ssh/id_rsa.pub

আপনি যদি নিশ্চিত হন তবেই পরবর্তী পদক্ষেপগুলি সম্পাদন করুন; ভার্জোজ মোডে (অর্থাৎ পতাকা -v) প্রসারণের চেষ্টা আপনাকে প্রকৃত সমস্যার দিকে নির্দেশ করতে পারে:

ssh -v -i <private_key> <name>@<ip> -p <port>

পার্শ্ব নোট হিসাবে, যেমন এটি ইতিমধ্যে অন্যদের দ্বারা এখানে উল্লেখ করা হয়েছে, বেশিরভাগ ক্ষেত্রে খালি ssh এজেন্ট (প্রোগ্রাম যা আপনার চাবিগুলিকে স্মৃতিতে রাখে) শুরু করে এবং আপনার কী যুক্ত করলে সমস্যার সমাধান করা উচিত:

ssh-agent bash
ssh-add <private_key>

-1

এটি আমার জন্য যা ঠিক করেছিল সেটি হল অ্যাপ্লিকেশন ডিরেক্টরিগুলির মধ্যে .pem ফাইলটি সরানো। Soo say fooapp আমার অ্যাপের নাম। আমি এটি সরাসরি সেখানে রেখেছি।


-2

কখনও কখনও ফোল্ডারে একটি ত্রুটি হতে পারে। আমি জানিনা কেন...

আপনি ফোল্ডারটি পরিবর্তন করতে পারেন এবং আবার চেষ্টা করতে পারেন। উদাহরণস্বরূপ, আপনি সাধারণ (ডেস্কটপ, ডাউনলোড এবং ইত্যাদি) ফোল্ডারে পরীক্ষা করতে পারেন।

আমি এই পদ্ধতিটি চেষ্টা করেছিলাম এবং কাজ করেছি


আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.