স্থানীয় উবুন্টু থেকে অ্যামাজন ইসি 2 সার্ভারে এসএসএইচ চেষ্টা করার সময় কেন আমি "অনুমতি অস্বীকার (পাবলিককি)" পাব?


218

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

আমি অ্যামাজন ইসি 2 এর সুরক্ষা সেটিংসে কিছু ধরণের সমস্যার কথা ভাবছি যার আইপি বা অধ্যায়ের শংসাপত্রের সীমিত আইপি অ্যাক্সেস রয়েছে যা পুনরায় জন্মানোর প্রয়োজন হতে পারে।

সমাধান কি কেউ জানেন?


11
"এটা আগে কাজ করতাম" - এর আগে কি ?
দোলা

আমার কাছে একটি ইলাস্টিক বিয়ানস্টালক ইসি 2 উদাহরণ রয়েছে। অগস্ট-২০১৩-তে সমাধানটি হ'ল এই উদাহরণটি অ্যাক্সেস করার জন্য ইক্য 2-ব্যবহারকারী ব্যবহারকারী যা অনুমতি অস্বীকার (পাবলিককে) ত্রুটিটি দূরে সরিয়ে দিয়েছে। যেমন: ssh -i ./mike-key-pairoregon.pem ec2-user@ec2-some-address.us-west-2.compute.amazonaws.com। অবশ্যই আপনাকে অনুযায়ী সব অন্যান্য কাপড় আছে stackoverflow.com/questions/4742478/...
mikemay

3
আপনার যদি ভুল ব্যবহারকারীর নাম নির্দিষ্ট করা থাকে তবে আপনি এই সমস্যাটি পান। অ্যাডস ডকস ( ডকস.আওএস.আমজোন.com / এডাব্লুএসইসি ২ / স্লেস্ট / ইউজারগুইড/… ) বর্তমানে ব্যবহারকারীর নাম ec2- ব্যবহারকারীর সাথে একটি উদাহরণ দেয় [ssh -i /path/my-key-pair.pem ec2- ব্যবহারকারী @ ec2-198 -51-100-1.compute-1.amazonaws.com], যদিও আমার (পুরানো) উবুন্টু বাক্সে উবুন্টুর একটি ব্যবহারকারীর নাম রয়েছে, তাই আমি যখন উদাহরণটি ব্যবহার করলাম তখন আমি এই ত্রুটিটি পেয়েছি, সঠিক ব্যবহারকারীর নাম পরিবর্তন করে ol
ডেভিড.বারখুইজেন

@ ডেভিড.বারখুইজেন, আপনার মন্তব্য আমাকে সাহায্য করেছে। আমারও একই সমস্যা ছিল; দেখা গেল এটির ব্যবহারকারীর নামটি করা ছিল। ধন্যবাদ।
নাইজা প্রোগ্রামারমার

উত্তর:


143

এই পরিস্থিতিতে প্রথম কাজটি করতে -vবিকল্পটি ব্যবহার করা হয় ssh, যাতে আপনি দেখতে পারেন যে কী ধরণের প্রমাণীকরণের চেষ্টা করা হয়েছে এবং ফলাফল কী। এটি কি পরিস্থিতি আলোকিত করতে সহায়তা করে?

আপনার প্রশ্নের আপডেটে আপনি "অন্য স্থানীয় উবুন্টুতে" উল্লেখ করেছেন। আপনি কি অন্য মেশিনে ssh প্রাইভেট কীটি অনুলিপি করেছেন?


2
@ গ্রেগের পরামর্শ অনুসারে আমি অন্য মেশিনে ssh প্রাইভেট কীটি অনুলিপি করেছি। এটা এখন কাজ করে. ধন্যবাদ!
ভেরলিয়াক ছাই

3
এফওয়াইআই আপনি কীগুলি ইনস্টল না করেই কীগুলির পথে নির্দেশ করতে -i পতাকা ব্যবহার করতে পারেন
জর্জে ভারগাস

20
আমার ক্ষেত্রে, আমি একটি bitnami .ami ব্যবহার করছিলেন এবং বুঝতে পারেনি যে আপনি ব্যবহারকারীর নামক bitnami যেমন লগ ইন করার মত প্রয়োজন: ssh -i <keyfile> bitname@<ec2-address>। দুর্ভাগ্যক্রমে -vবিকল্পটি এটি খুঁজে পেতে আমাকে সহায়তা করে নি তবে এটি পরীক্ষা করা এখনও খুব কার্যকর!
ম্যাট কনলি

7
ভাল, আমার ক্ষেত্রে আমি ভুল ব্যবহারকারীর নাম ব্যবহার করছিলাম। "বিটনামি" এর পরিবর্তে "উবুন্টু" ব্যবহার করছিলেন। এটির মতো: ssh -i key.pem বিটনামি @ হোস্টাড্রেস
লুকাস পটারস্কি

3
একটি ভাল সীসা হ'ল দূরবর্তী নোড নিজেই, সন্ধান করুন /var/log/auth.log, কখনও কখনও আপনি নীচের বার্তাগুলি দেখতে পাবেন: Authentication refused: bad ownership or modes for file /var/lib/jenkins/.ssh/authorized_keysবা অন্য কিছু
জোনাস লিবব্র্যাচট

76

যেহেতু এটি স্পষ্টভাবে উল্লেখ করা হয়নি, sshd ডিফল্টরূপে authorized_keysফাইলগুলির অনুমতিগুলির বিষয়ে খুব কড়া । সুতরাং, যদি authorized_keysহয় লিখনযোগ্য অথবা ব্যবহারকারীর ছাড়া অন্য কারো জন্য লিখনযোগ্য তৈরি করা যেতে পারে ব্যবহারকারী ছাড়া অন্য কেহ, এটি (যদি না sshd কমান্ড এর মাধ্যমে কনফিগার করা প্রমাণীকৃত করতে অস্বীকার করব StrictModes no)

আমি "লিখিতভাবে তৈরিযোগ্য হতে পারি" বলতে যা বোঝায় তা হ'ল যদি পিতামাতৃত ডিরেক্টরিগুলির মধ্যে যদি ব্যবহারকারী ব্যতীত অন্য কারও জন্য লিখিত হয় তবে ব্যবহারকারীরা সেই ডিরেক্টরিগুলিকে সংশোধন করার অনুমতি দেয় এমনভাবে তারা অনুমতিপ্রাপ্ত_কিগুলি সংশোধন / প্রতিস্থাপন করতে পারে এমন অনুমতিগুলি পরিবর্তন করতে শুরু করতে পারে।

তদুপরি, /home/username/.sshডিরেক্টরিটি যদি ব্যবহারকারীর মালিকানাধীন না থাকে এবং এইভাবে ব্যবহারকারীর কাছে কীটি পড়ার অনুমতি নেই তবে আপনি সমস্যায় পড়তে পারেন:

drwxr-xr-x 7 jane jane 4096 Jan 22 02:10 /home/jane
drwx------ 2 root root 4096 Jan 22 03:28 /home/jane/.ssh

নোট করুন যে জেন .sshফাইলটির মালিক নয় । এর মাধ্যমে এটি ঠিক করুন

chown -R jane:jane /home/jane/.ssh

এই প্রকারের ফাইল সিস্টেমের অনুমতি সংক্রান্ত সমস্যাগুলি প্রদর্শিত হবে না ssh -vএবং আপনি লগ স্তরটি DEBUG তে সেট না করা পর্যন্ত তারা sshd লগ (!) এও প্রদর্শিত হবে না।

  • সম্পাদনা করুন /etc/ssh/sshd_config। আপনি একটি লাইন চান যে LogLevel DEBUGকোথাও পড়ে । ডিস্ট্রো প্রদত্ত মেকানিজমটি ব্যবহার করে এসএসএইচ সার্ভারটি পুনরায় লোড করুন। ( service sshd reloadআরএইচইএল / সেন্টোস / বৈজ্ঞানিক উপর on) একটি চমত্কার পুনরায় লোড বিদ্যমান সেশনগুলি বাদ দেবে না।
  • আবার প্রমাণীকরণ চেষ্টা করুন।
  • আপনার লেখার সুবিধার লগগুলি যেখানে কাজ করে সেগুলি পড়ুন। (আইআইআরসি, /var/log/auth.logডেবিয়ান ভিত্তিক ডিস্ট্রোজেস; /var/log/secureআরএইচইএল / সেন্টোস / সায়েন্টিফিকের উপর))

ডিবাগ আউটপুট যা ফাইল সিস্টেম অনুমোদনের ত্রুটিগুলি অন্তর্ভুক্ত রয়েছে তাতে কী ভুল হচ্ছে তা কাজ করা অনেক সহজ কাজ। /etc/ssh/sshd_configকাজটি হয়ে গেলে পরিবর্তনটি ফিরিয়ে দিতে ভুলবেন না !



7
মূল ফাইলগুলির জন্য সঠিক অনুমতিগুলি এফডাব্লুআইডব্লিউ 600 ( এখানে দেখুন )
ম্যাট

1
হ্যাঁ, আমার .authorised_keys ফাইলটি গ্রুপ দ্বারা লিখিত ছিল তাই এটি গ্রহণ করতে অস্বীকার করেছিল।
আদিত্য এমপি

2
আমি মাথা ঠেকিয়ে দিচ্ছিলাম দেয়ালের বিরুদ্ধে! আমার ব্যবহারকারীর ফোল্ডারে ভুল অনুমতি ছিল। ধন্যবাদ!
এক্সজোনস

4
একই / .ssh ফোল্ডারের জন্য যায়। আপনি নিম্নলিখিত ত্রুটি বার্তা পেতে পারেন:Authentication refused: bad ownership or modes for directory
Yevgeniy এম।

37

আমি এই ত্রুটিটি পেয়েছি, কারণ আমি -lবিকল্প যুক্ত করতে ভুলে গেছি । আমার স্থানীয় ব্যবহারকারীর নামটি দূরবর্তী সিস্টেমের মতো ছিল না।

এটি আপনার প্রশ্নের উত্তর দেয় না, তবে আমি এখানে আমার সমস্যার উত্তর খুঁজছি।


25
ssh host -l userঠিক তাই ssh user@hostনা?
Znarkus

3
@ জ্নার্কাস হ্যাঁ, এটি একই রকম।
ক্রেগোক্স

হ্যাঁ, এটি "অনুমতি অস্বীকার (পাবলিককি)" ত্রুটির ফলেও আমার সমস্যার সমাধান করেছে।
ব্রুকস মূসা

1
এটা আমার জন্য সমস্যা ছিল। আমি ব্যবহারকারী "রুট" কাজ করার প্রত্যাশা করছিলাম, তবে আমি একটি উবুন্টু ইসি 2 ইমেজটি ব্যবহার করছিলাম যার ডিফল্ট ব্যবহারকারী "উবুন্টু" ছিল।
সেরিন

20

আমি এই বার্তাটি উবুন্টু এএমআইয়ের ভিত্তিতে একটি নতুন উদাহরণে পেয়েছি। আমি পিইএম সরবরাহ করতে -i বিকল্পটি ব্যবহার করছিলাম তবে এটি এখনও "অনুমতি অস্বীকার (পাবলিককি)" দেখাচ্ছে showing

আমার সমস্যাটি হ'ল আমি সঠিক ব্যবহারকারীর ব্যবহার করছি না। উবুন্টু @ ইক 2 দিয়ে এসএসএস চালিয়ে ... এটি স্বাভাবিকের মতো কাজ করেছে।


হ্যাঁ ... আমি কমান্ডটি চালিয়ে যাচ্ছিলাম sudo, এজন্য এটি কাজ করছে না।
thaddeusmt

16

কিছু চেয়ে পড়ার জন্য সহজ এরকম যে ssh -v(অবশ্যই আমার মতে), হয় tail -f /var/log/auth.log। এটি সংযোগ দেওয়ার চেষ্টা করার সময় আপনি যে সার্ভারে সংযোগের চেষ্টা করছেন সেটি চালানো উচিত। এটি সরল পাঠ্যে ত্রুটি প্রদর্শন করবে।

এটি আমার সমস্যা সমাধানে আমাকে সহায়তা করেছে:

Xx.yy.com থেকে ব্যবহারকারীর [ব্যবহারকারীর নাম] অনুমোদিত নয় কারণ ব্যবহারকারীর গোষ্ঠীর কোনওটিই অলগোষ্ঠিতে তালিকাভুক্ত নয়


এই সার্ভার লগ। আরএইচইএল / সেন্টোস 7 এর জন্য:tail -f /var/log/secure
জিয়ানফ্র্যাঙ্কো পি

10

আপনার / etc / ssh / sshd_config ফাইলটি পরীক্ষা করুন। সেখানে, লাইনটি যা বলে তা সন্ধান করুন

PasswordAuthentication no

না-এর পরিবর্তে হ্যাঁ বলার জন্য সেই লাইনটি সংশোধন করা দরকার। এছাড়াও, পরে sshd সার্ভারটি পুনরায় চালু করুন।

sudo /etc/init.d/ssh restart

18
এটি সার্ভারকে কম সুরক্ষিত করে তুলবে।
Znarkus

আমার এই সমস্যাটি ছিল: আমি কেবলমাত্র একটি পাসওয়ার্ড দিয়ে প্রমাণীকরণ করে অন্য ব্যবহারকারীর জন্য একটি অ্যাকাউন্ট সেট আপ করতে চেয়েছিলাম। আমি যেখানে আমার ব্যক্তিগত কী ছিল না সেখান থেকে নিজে হিসাবে লগ ইন করতে সক্ষম হতে চেয়েছিলাম।
ড্যানিয়েল

1
আমরা কীভাবে যেতে পারি /etc/ssh/sshd_config- যদি আমরা এমনকি সার্ভারে প্রবেশ করতে না পারি?
kyo

সার্ভারে নিজেই প্রবেশ করতে, আপনি যখন উদাহরণটি তৈরি করেছিলেন তখন আপনাকে অবশ্যই সেগুলি দেওয়া PEM ফাইলটি ব্যবহার করতে হবে। নির্দেশাবলী তার পরে যেতে।
সুদীপ্তা চ্যাটার্জী

এটি আমার পক্ষে কাজ করেছে, যদিও sudo service sshd reload
এসএসডিডি

6

সম্ভবত বর্তমান পোস্টারের সাথে প্রাসঙ্গিক নয়, তবে অন্যদের অনুরূপ পরিস্থিতির উত্তর অনুসন্ধানের সময় এটি খুঁজে পেতে সহায়তা করতে পারে। অ্যামাজনকে এসএসএস কী-জেনার তৈরি করার পরিবর্তে আমি আপনার নিজস্ব, মানক, ডিফল্ট পাবলিক এসএস কীটি অ্যামাজনে আপলোড করার পরামর্শ দিচ্ছি এবং উল্লেখ করব যে আপনি যখন ইসি 2 ইনস্ট্যান্স চালাবেন run

এটি আপনাকে ssh এ "-i" প্রকারের সিনট্যাক্সটি ফেলে দিতে পারে, স্ট্যান্ডার্ড বিকল্পগুলির সাথে rsync ব্যবহার করতে পারে এবং আপনাকে সমস্ত ইসি 2 অঞ্চল জুড়ে একই ssh কী ব্যবহার করতে দেয়।

আমি এই প্রক্রিয়া সম্পর্কে এখানে একটি নিবন্ধ লিখেছিলাম:

অ্যামাজন ইসি 2- তে ব্যক্তিগত এসএসএস কীগুলি আপলোড করা হচ্ছে
http://alestic.com/2010/10/ec2-ssh-keys


+1 ঠিক এই কারণে এই প্রশ্নটি সন্ধান করেছেন।
জন রিসেলভাতো

আমি আপনার নিবন্ধ অনুসরণ এই ত্রুটি দেখতে। অঞ্চলসমূহ = $ (ec2-বর্ণনা-অঞ্চল | কাট -f2) প্রয়োজনীয় বিকল্প '-কি, - ব্যক্তিগত-কী' নিখোঁজ রয়েছে (-h ব্যবহারের জন্য)
কাশীফালি

@ কাশিফালি আপনি EC2 API কমান্ড লাইন সরঞ্জাম শংসাপত্রগুলি সেট আপ করতে চাইবেন যাতে আপনাকে সর্বদা প্রতিটি কমান্ড লাইনে শংসাপত্রগুলি পাস করতে না হয়।
এরিক হ্যামন্ড

5

আশ্চর্যের বিষয় হল, আমার সমস্যাটি পরিণত হয়েছিল যে সার্ভারটি আবার চালু হয়েছিল এবং এটি একটি নতুন ডিএনএস নাম জারি করা হয়েছিল। আমি পুরানো ডিএনএস নাম ব্যবহার করছিলাম। আমি জানি এটি বোকা লাগছে তবে এটি বের করতে আমার কিছুটা সময় লেগেছে।


ধন্যবাদ! এটা ঠিক আমার সমস্যা ছিল। আপনি যখন কোনও উদাহরণ পুনরায় চালু করবেন তখন আমি বুঝতে পারিনি যে ডিএনএসের নাম পরিবর্তন হয়েছিল।
টিম সোয়াস্ট

আমার ক্ষেত্রে, যখন আমি একটি ইলাস্টিক আইপি নিযুক্ত করি তখন * .compute.amazonaws.com URL পরিবর্তন হয়েছিল changed
জেফ্রি বুথ

2

আপনি যদি ড্রপবিয়ারে চলমান সায়ানোজেনমড ফোনে সংযোগের চেষ্টা করছেন, তবে সমস্ত কিছু ঠিক আছে কিনা তা নিশ্চিত করার জন্য আপনার নীচের লাইনগুলি চালানো উচিত:

chmod 600 /data/dropbear/.ssh/authorized_keys

অথবা

chmod 700 /data/dropbear/.ssh/authorized_keys # In case of MacOS X 10.6-10.8

এবং

chmod 755 /data/dropbear/ /data/dropbear/.ssh

এটি আমার জন্য এটি স্থির করেছে, অন্যথায় কিছুই সংযোগ করতে পারে না।


"অন্য স্থানীয় উবুন্টুতে এসসিএইচ ইসি 2 এ প্রবেশ করার চেষ্টা করার সময়।"
গ্রামমার্জেক

1
আমার যদি অনুমোদিত_কিজ না থাকে ?
ইগোরগানাপলস্কি

2

আপনি সেন্টওএস 5 ব্যবহার করেন, তাহলে আপনাকে তা সেট করতে পারেন StrictModes noমধ্যে /etc/ssh/sshd_config। আমি এনআইএস / এনএফএস ব্যবহার করে / হোম ডিরেক্টরি ভাগ করছি এবং আমি সমস্ত অনুমতিগুলি সঠিকভাবে সেট করেছিলাম তবে এটি সর্বদা আমাকে পাসওয়ার্ডের সাথে অনুরোধ করে। আমি সেট করার পরে StrictModes no, সমস্যাটি অদৃশ্য হয়ে গেল!


1

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


2
আপনি কীভাবে সমস্যাটি সমাধান করবেন?
জুলিয়েন গ্রেনিয়ার

1

আমারও একই সমস্যা ছিল এবং টন সলিউশন যা কাজ করতে ব্যর্থ হয়েছিল আমি আমার রাউটারের ফায়ারওয়ালে এসএসএইচ পোর্টটি খুললাম (আমার রাউটারের ফায়ারওয়াল কন্ট্রোল প্যানেলটি একটি জগাখিচুড়ি, তাই কি হচ্ছে তা বলা শক্ত)। যাইহোক, এটি এটি স্থির করেছে :)

অতি রক্তাক্ত বিরক্তিকর যে আপনি যে ত্রুটিটি পেয়েছেন তা হ'ল অনুমতি অস্বীকার, এটি বোঝানো হচ্ছে যে এখানে কোনও প্রকার সংযোগ তৈরি হয়েছিল, জিআর।


1

আমি অনুমান সহ সমস্ত পদক্ষেপ অনুসরণ করেও আমার একই সমস্যা ছিল

$ ec2-authorize default -p 22

তবে আমি আমার উদাহরণটি পশ্চিম -১ অঞ্চলে শুরু করেছিলাম started সুতরাং উপরের কমান্ড এছাড়াও এটি নির্দিষ্ট করা উচিত।

$ ec2-authorize default -p 22 --region us-west-1

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


0

এটি একটি বিরল ক্ষেত্রে, তবে আপনি যদি সেলিনাক্স সক্ষম করে থাকেন এবং আপনি অনুমোদিত_কিগুলি (যেমন শেয়ার্ড হোম ডিরেক্টরি) ডিরেক্টরিতে এনএফএস ব্যবহার করেন তবে আপনাকে সেলিনাক্স অক্ষম করতে হবে (সুরক্ষার কারণে প্রস্তাবিত নয়, তবে আপনি সাময়িকভাবে এটি অক্ষম করতে পারবেন) এটি সমস্যা সৃষ্টি করছে কিনা তা দেখার জন্য) বা সেলিনাক্সকে এনএফএস হোম ডিরেক্টরি ব্যবহার করার অনুমতি দিন। আমি বিশদ সম্পর্কে পরিষ্কার নয়, তবে এটি আমার পক্ষে কাজ করেছে setsebool -P use_nfs_home_dirs 1


0

অজান্তেই ব্যবহারকারীদের হোম ডিরেক্টরিতে গ্রুপ লেখার অনুমতি যুক্ত করার পরে আমি একই সমস্যাটি অনুভব করেছি।

আমি আবিষ্কার করেছি tail -f /var/log/secureএটি মেশিনে চালানো এবং ত্রুটিটি দেখে কারণ ছিল Authentication refused: bad ownership or modes for directory /home/<username>

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