এসএসএইচ পাবলিক কী - কোনও সমর্থিত প্রমাণীকরণ পদ্ধতি উপলব্ধ নেই (সার্ভার সর্বজনীন কী প্রেরণ করেছে)


80

আমার একটি ভার্চুয়াল মেশিনে একটি 12.10 সার্ভার সেটআপ রয়েছে যার নেটওয়ার্ক ব্রিজ করার জন্য সেট রয়েছে (মূলত আমার স্যুইচটিতে সংযুক্ত কম্পিউটার হিসাবে দেখা হবে)।

আমি ওপেনএসএইচডি এর মাধ্যমে ইনস্টল করেছি apt-getএবং আমার ব্যবহারকারীর নাম এবং পাসওয়ার্ড দিয়ে পুট্টি ব্যবহার করে সার্ভারের সাথে সংযোগ করতে সক্ষম হয়েছি।

এরপরে আমি এটি পাবলিক / প্রাইভেট কী প্রমাণীকরণ ব্যবহার করার চেষ্টা করার বিষয়ে সেট করেছি। আমি নিম্নলিখিতগুলি করেছি:

  1. PuttyGen ব্যবহার করে কী তৈরি করা হয়েছে।
  2. সর্বজনীন কী এতে সরানো হয়েছে /etc/ssh/myusername/authorized_keys(আমি এনক্রিপ্ট করা হোম ডিরেক্টরি ব্যবহার করছি)।
  3. এর sshd_configমতো সেট আপ করুন :

    PubkeyAuthentication yes
    AuthorizedKeysFile /etc/ssh/%u/authorized_keys
    StrictModes no
    PasswordAuthentication no
    UsePAM yes
    

আমি পুট্টি বা উইনসিসিপি ব্যবহার করে যখন সংযোগ করি, তখন কোনও সমর্থিত প্রমাণীকরণের পদ্ধতি উপলব্ধ নেই (সার্ভার সর্বজনীন কী প্রেরণ করে) বলে ত্রুটি পাই।

আমি sshdযদি ডিবাগ মোডে চালাই তবে আমি দেখতে পাচ্ছি:

PAM: initializing for "username"
PAM: setting PAM_RHOST to "192.168.1.7"
PAM: setting PAM_TTY to "ssh"
userauth-request for user username service ssh-connection method publickey [preauth]
attempt 1 failures 0 [preauth]
test whether pkalg/pkblob are acceptable [preauth[
Checking blacklist file /usr/share/ssh/blacklist.RSA-1023
Checking blacklist file /etc/ssh/blacklist.RSA-1023
temporarily_use_uid: 1000/1000 (e=0/0)
trying public key file /etc/ssh/username/authorized_keys
fd4 clearing O_NONBLOCK
restore_uid: 0/0
Failed publickey for username from 192.168.1.7 port 14343 ssh2
Received disconnect from 192.168.1.7: 14: No supported authentication methods available [preauth]
do_cleanup [preauth]
monitor_read_log: child log fd closed
do_cleanup
PAM: cleanup

কেন এটি হচ্ছে এবং আমি কীভাবে এটি ঠিক করতে পারি?


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

উত্তর:


70

সমস্যা সমাধান:

দেখে মনে হচ্ছে আমার সার্বজনীন কী ফাইলটিতে কোনও সমস্যা হয়েছে। PuttyGen এমন একটি পাবলিক কী ফাইল তৈরি করবে যা দেখে মনে হচ্ছে:

---- BEGIN SSH2 PUBLIC KEY ----
Comment: "rsa-key-20121022"
AAAAB3NzaC1yc2EAAAABJQAAAIEAhGF6GIuMY8FJ1+CNApnSY1N2YSlkYz72Yvwu
a6N1nFpBklz1+dsIMg4rcTLcF34M/tW5Yz+NUDAw2AEbxQ32FPgw7sAOIXktkYOH
tr7mmimiTjkoSCrJh1kqalPSpi8rglT/Bp67Ql2SZwvUFfMzHISryR0EZC4rXP/u
vObrJe8=
---- END SSH2 PUBLIC KEY ----

তবে এটি কাজ করবে না, সুতরাং আপনার যা করা দরকার তা হ'ল পুটিজিনে কীটি খুলুন এবং সেখান থেকে এটি অনুলিপি করুন (ফলাফলটি কীটি সঠিক ফর্ম্যাটে এবং 1 লাইনে রয়েছে):

ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAhGF6GIuMY8FJ1+CNApnSY1N2YSlkYz72Yvwua6N1nFpBklz1+dsIMg4rcTLcF34M/tW5Yz+NUDAw2AEbxQ32FPgw7sAOIXktkYOHtr7mmimiTjkoSCrJh1kqalPSpi8rglT/Bp67Ql2SZwvUFfMzHISryR0EZC4rXP/uvObrJe8= rsa-key-20121022

authorized_keysএটিতে এটি আটকান এটি কাজ করা উচিত।


1
আমি authorized_keysvi তে খুললাম এবং সমস্ত লাইন ব্রেকগুলি সরিয়ে দিয়েছি এটি কার্যকর হয়েছে।
লুক

1
পাবলিক কী ফাইলটি কোথায় অবস্থিত? আমি কেবল পুটি ব্যবহার করছি।
সিলোর

1
আমি উপরের সমস্ত জিনিস করেছি তবে তবুও সার্ভারটি কোনও সমর্থিত প্রমাণীকরণের পদ্ধতি সরবরাহ করছে না (সার্ভার সর্বজনীন কী প্রেরণ করেছে)
আল-আলামিন

আপনি কীভাবে জানবেন যে এটি কাজ করবে না / আপনি প্রত্যাশিত বিন্যাসটি কোথায় পাবেন?
মাইকেল

আপনি যখন বলবেন ঠিক তখনই আমার পেস্ট করা দরকার "অনুমোদিত_কাইগুলিতে এটি আটকে দিন তবে এটি কাজ করা উচিত।" @ এফ 21
মাহেন্দ্র রেড্ডি ইয়াসা

19
  1. /etc/ssh/sshd_configফাইলটি সম্পাদনা করুন।
  2. পরিবর্তন PasswordAuthenticationএবং ChallengeResponseAuthenticationকরতে yes

3a। Ssh পুনরায় আরম্ভ করুন /etc/init.d/ssh restart
বা
3 বি। ভাল আপনি ব্যবহারservice sshd restart


আপনার যদি
ভিএফটিপি

সেটা আমার জন্য কাজ করে!
অ্যাসিনাক্স

8
কী ফাইলের মাধ্যমে প্রমাণীকরণের পুরো উদ্দেশ্যটি হ'ল পাসওয়ার্ড প্রমাণীকরণ এড়ানো , সুতরাং আসলে আপনার সেট আপ PasswordAuthenticationকরা উচিত no
পেরে

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

ধন্যবাদ ChallengeResponseAuthentication, এটি আমার কাছে একটি ডেবিয়ান 10.0
রিয়েলটিবো

10

আমি আশা করি কেবলমাত্র একটি টিপ আমার মাথাব্যাথা নিয়ে অন্য কাউকে সাহায্য করতে পারে। F21 ঠিক আছে যে আপনার ফাইলটি সংরক্ষণ করার পরিবর্তে PuTTYGen উইন্ডো থেকে কীটি অনুলিপি করা উচিত, তবে অনুলিপি করার পরে, আপনি যেভাবে পেস্ট করেছেন তাতে আপনার কীটি কাজ করবে কি না তার উপর উল্লেখযোগ্য প্রভাব ফেলতে পারে। কিছু সম্পাদক আপনার পাঠানোর সময় পাঠ্যকে পরিবর্তন করে দেবে, বা নিউলাইনগুলি বা এমন কিছু যা কিছু অনুমোদিত_কিগুলি ফাইলকে অবৈধ করে তোলে।

আমি যা ভাঙার সবচেয়ে কম সম্ভাবনা পেয়েছি তা হ'ল পুরো স্ট্রিং প্রতিধ্বনি করা এবং আউটপুটটিকে ফাইলে পুনর্নির্দেশ করা। কমান্ডলাইনে কী স্ট্রিংটি পেস্ট করতে পুটিতে ডান ক্লিক করে, এটি এর মতো কাজ করে (উপরে বর্ণিত উদাহরণ সহ):

echo [right-click-to-paste-here] > /etc/ssh/username/authorized_keys

আপনি এটি দিয়ে শেষ করব:

echo ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAhGF6GIuMY8FJ1+CNApnSY1N2YSlkYz72Yvwua6N1nFpBklz1+dsIMg4rcTLcF34M/tW5Yz+NUDAw2AEbxQ32FPgw7sAOIXktkYOHtr7mmimiTjkoSCrJh1kqalPSpi8rglT/Bp67Ql2SZwvUFfMzHISryR0EZC4rXP/uvObrJe8= rsa-key-20121022 > /etc/ssh/username/authorized_keys

এই পদ্ধতির আর একটি সুবিধা হ'ল আপনি ওভাররাইট করতে>> এর পরিবর্তে সংযোজন করতে >> ব্যবহার করে এইভাবে একাধিক কী যুক্ত করতে পারেন, যেমন:

echo ssh-rsa AAAAB3<...snip...>rJe8= rsa-key-20121022 >> /etc/ssh/username

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


এটি 4096 বিট কীগুলির জন্য কাজ করে না ... এটি আমি মনে করি এমন অক্ষরের জন্য এটি টার্মিনাল সীমা অতিক্রম করেছে
ফ্রিডো

1
আপনার বাশ ইতিহাসের পরে এটিকে সরিয়ে ফেলা ভাল ধারণা বা নাও হতে পারে।
জেসন পাওয়ারস মারে

@ জেসনপাওয়ার্সমুরে: এটি একটি সর্বজনীন কী। পাবলিক কি ক্রিপ্টোগ্রাফি সিস্টেম নিরাপদ যখন চাবি প্রকাশিত হয় থাকতে ডিজাইন করা হয়েছে, তাই এটি ব্যাশ ইতিহাসে এবং অন্যত্র সার্বজনিক কী লগ ইন করার ঠিক।
ডেভিড ক্যারি

9

আমরা ইতিমধ্যে সঠিক ধরণের কী (পেমের পরিবর্তে পিপিকে) ব্যবহার করছিলাম ..

আমাদের ক্ষেত্রে এটি সার্ভার ব্যবহারকারীর ফোল্ডারে অনুমোদিত_কীজগুলির জন্য ফাইল অনুমতিগুলির সাথে সমস্যা ছিল। এটি -Rw-r - r-- হতে হবে ... এটি ছিল - rw-rw-r--

ফাইল পার্স সম্পর্কে ssh খুব চতুর।


আমাকে সঠিক দিকে নির্দেশ করার জন্য ধন্যবাদ। আমাদের ক্ষেত্রে মালিক এবং অনুমতি উভয়ই ভুল ছিল।
Zsolti

আমরা ssh এর মাধ্যমে অ্যাক্সেস করতে সক্ষম না হওয়ায় ফাইল অনুমতিগুলি কীভাবে পরিবর্তন করব? অন্য কোন উপায় না?
jit

1
খনিটিও ছিল মালিকানা, গ্রুপশিপ এবং অনুমতিগুলির সমস্যা। এখানে প্রদর্শিত ( স্ট্যাকওভারফ্লো.com / a / 36808935 / 384670 ) হিসাবে, আমার যে অনুমতিগুলি ব্যবহার করতে হয়েছিল তা ফাইলের জন্য 600 এবং ডিরেক্টরিতে 700 ছিল। আমিও মালিক এবং গোষ্ঠীটিকে প্রশ্নবিদ্ধ এই অ-রুট ব্যবহারকারীতে পরিবর্তন করেছি।
এম কাটজ

5

মীমাংসিত:

  1. আপনাকে puttyGEN ডাউনলোড করতে হবে এবং একটি সর্বজনীন এবং একটি ব্যক্তিগত কী তৈরি করতে হবে।
  2. আমি আমার ব্যক্তিগত কীতে একটি পাসওয়ার্ড নিযুক্ত করেছি।
  3. তারপরে পুট্টিতে ব্যক্তিগত কীটি কনফিগার করুন। পুট্টি-> এসএসএইচ-> এথ-> আপনার ব্যক্তিগততে ব্রাউজ করুন।
  4. আপনার ব্যক্তিগত এবং সরকারী কীগুলির জন্য একই পথ রয়েছে তা নিশ্চিত করুন।
  5. আপনাকে সার্ভারে সর্বজনীন কীটি কনফিগার করতে হবে। (আমার ক্ষেত্রে আমি সার্ভার লোকের সাথে কথা বলেছি এবং জিজ্ঞাসা করেছি যে সে আমার সার্বজনীন কী সার্ভারে যোগ করতে পারে)। সংযোগটি অন্যদিকে আপনার সার্বজনীন কী প্রয়োজন।

2
"নিশ্চিত করুন যে আপনার কাছে ব্যক্তিগত এবং সরকারী কীগুলির জন্য একই পথ রয়েছে" " এর সাথে কিছু করার নেই। আপনাকে আপনার প্রাইভেটের পাশে আপনার পাবলিক কীটি থাকার দরকার নেই ..
ব্যবহারকারীর 3790897

5

আমার ক্ষেত্রে কারণটি ছিল যে প্রাইভেট কী ফাইল (.ppk) পুট্টি প্রমাণীকরণ এজেন্ট অর্থাৎ পেজেন্টে সরানো হয়েছিল। আমি এটি আবার প্যাজেন্টে আবার আপডেট করেছি এবং এর পরে সংযোগটি পুরোপুরি কাজ করেছে।

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