এসএসএইচ ডিএসএ কীগুলি আর পাসওয়ার্ড-স্বল্প প্রমাণীকরণের জন্য কাজ করে না


25

ফেডোরা 23-তে আপগ্রেড করার পরে, পাসওয়ার্ডহীন (পাবলিক-কী-ভিত্তিক) প্রমাণীকরণ আর এসএসএইচে কাজ করে না: যখন কোনও হোস্টে এসএসএইচ চেষ্টা করার সময় এটি দূরবর্তী হোস্টে আমার পাসওয়ার্ডের জন্য অনুরোধ করে। আমি আমার এসএসএইচ প্রাইভেট কী ব্যবহার করতে পারি না। ফেডোরার 22 দিয়ে সবকিছু ঠিকঠাক কাজ করেছে।

আমার সর্বজনীন কী একটি ডিএসএ কী ( ~/.ssh/id_dsa.pub)। আমি ওপেনএসএইচ 7.1 ( openssh-7.1p1-5.fc23.x86_64) ব্যবহার করছি ।

আবার সঠিকভাবে কাজ করার জন্য আমি কীভাবে পাসওয়ার্ড-কম প্রমাণীকরণ পাব?


1
এর প্রতারিত superuser.com/questions/962918/... এবং (ক্রশ) unix.stackexchange.com/questions/247612/...
dave_thompson_085

1
ধন্যবাদ, @ ডেভ_থমপসন_085। এটি সুপারইউজার . com/q/962918/93541 এর একটি ডুপ নয় । প্রশ্নটি কীভাবে ব্যবহার করবেন তা জিজ্ঞাসা করছে ssh -Q। এটি জিজ্ঞাসা করছে কীভাবে এসএসএইচ-এর ব্যর্থতা সমস্যা-শ্যুট করা যায়। আমি superuser.com/q/962918/93541 এবং অন্য কোথাও এই সমাধানটি সনাক্ত করতে সহায়ক বলে কিছু উপাদান খুঁজে পেয়েছি , তবে সেখানে উত্তরটি কীভাবে ব্যবহার করতে হবে ssh -Qএবং এই প্রশ্নের উত্তর দেয় না তা বর্ণনা করে (উদাহরণস্বরূপ, এটি কীভাবে ঠিক করবেন তা ব্যাখ্যা করে না এই সমস্যাটি), তাই আমার দৃষ্টিতে এটি কোনও ধোঁকাবাজি নয়। ইউনিক্স ও লিনাক্স এক হয় অনুরূপ; আমি আশা করি আমি এটি আগে দেখতে পেয়েছি। লিঙ্কগুলির জন্য আবার ধন্যবাদ!
DW

হ্যাঁ, আপনি ঠিক বলেছেন। আমি তাদের উভয়কে "ওপেনএসএসএইচ 7.0 নো ডিএসএ" হিসাবে বুকমার্ক করেছি যা পূর্ববর্তী ক্ষেত্রে যথেষ্ট নিকটবর্তী নয়। দুঃখিত।
dave_thompson_085

উত্তর:


40

এটি ওপেনএসএসএইচ 7.0 এ আপগ্রেড করার ফলাফল। ওপেনএসএসএইচ .0.০-র জন্য প্রকাশিত নোটগুলি যেমন বলেছে যে , "রান-টাইমে এসএসএস-ডিএসএস হোস্ট এবং ব্যবহারকারী কীগুলির জন্য সমর্থন ডিফল্টরূপে অক্ষম করা আছে"।

সমাধানটি হ'ল ~/.ssh/configপ্রতিটি ক্লায়েন্ট মেশিনে (প্রতিটি মেশিন যেখানে আপনি এসএসএইচ ক্লায়েন্ট পরিচালনা করেন) এ নিম্নলিখিত লাইন যুক্ত করুন :

PubkeyAcceptedKeyTypes=+ssh-dss

সার্ভার OpenSSH- র 7.0 অথবা ঊর্ধ্বতন সংস্করণ ব্যবহার হয়, তাহলে আপনি পাবেন এছাড়াও এই লাইন যোগ করতে হবে /etc/ssh/sshd_configপ্রতিটি সার্ভারের মেশিনে।

বিকল্পভাবে, আপনি একটি সম্পূর্ণ নতুন এসএসএইচ কী তৈরি করতে পারেন এবং আপনি যে কোনও সার্ভারে লগ ইন করতে চান তা আপনার অনুমোদিত_কিজ ফাইলটিতে এটি যুক্ত করতে পারেন। সামঞ্জস্যতা সমস্যাগুলি এড়াতে আপনাকে আরএসএ ব্যবহার করার পরামর্শ দিচ্ছি । আমি ইসিডিএসএ -র প্রস্তাব দিচ্ছি না, কারণ স্পষ্টতই জিনোম-কীরিং-ডেমন ইসিডিএসএ টাইপের এসএসএইচ কীগুলি স্বয়ংক্রিয়ভাবে গ্রহণ করে না


সম্পাদকীয় মন্তব্য: ওপেনএসএইচ লোকেরা ডিএসএ কীগুলি অক্ষম করেছিল কেন? আমি জানি না। আমি যতদূর নিশ্চিত করতে সক্ষম হয়েছি, ডিএসএ কী (এসএসএস-ডিএসএস) এর সুরক্ষায় কোনও ভুল নেই। OpenSSH- র ওয়েবপৃষ্ঠাটি দাবি যে SSH-DSS দুর্বল, কিন্তু যতদূর আমি সচেতন আছি, 1024-বিট SSH-DSS কোন 1024-বিট আরএসএ দুর্বল, এবং 1024-বিট আরএসএ কী অক্ষম নয়।


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

2
@ জাকুজে, হ্যাঁ, মূল ধরণের নির্বাচনটি এখানে এবং এখানে তথ্য সুরক্ষা নিয়ে আলোচনা করা হয়েছে । আমি আমার সম্পাদকীয় মন্তব্য লেখার আগে এগুলি সমস্তই পড়েছি এবং ডিএসএ কীগুলি কেন অক্ষম করা হয়েছিল তা নিয়ে আমি আশ্চর্য হয়ে পড়েছি: তারা একই দৈর্ঘ্যের আরএসএ কীগুলির চেয়ে দুর্বল নয়, যা অক্ষম ছিল না। ডিএসএ'কে "প্রশ্নবিদ্ধ" ইঙ্গিত করে এমন থ্রেডগুলির মধ্যে এমন কোনও কিছুই নেই এবং থমাস পর্নিন যেমন বলেছিলেন, "যথেষ্ট বড় চাবি ধরে ধরে অন্য কোনও ধরণের চেয়ে বেশি পছন্দ করার কোনও সুরক্ষা-যুক্ত কারণ নেই"। (অবিরত)
DW

আরও বিস্তারিত আলোচনার জন্য এখানে দেখুন ।
DW

0

আমার দুই সেন্ট

.ssh/configফাইলটিকে সম্পাদনা করার জন্য এটি এতটা ভাল ধারণা বলে মনে হচ্ছে না, তাই আমি পরামর্শ দিই

  1. সাম্প্রতিক সরঞ্জামটি ব্যবহার করে একটি নতুন কী তৈরি করুন।

    তারপরে নতুন পাবলিক কীটি (ক্লিপবার্ডে) অনুলিপি করুন

  2. পুরানো কী ব্যবহার করে একটি শেষ বার লগ করুন :

    ssh -i .ssh/id_dsa.pub -o PubkeyAcceptedKeyTypes=+ssh-dss user@host
    

    তারপর আপগ্রেড @hostএর authorized_keysআপনার নতুন যোগ করে ফাইল, pubkey এবং লগ-আউট

    cat >>.ssh/authorized_keys
    

    paste, তারপর Ctrl+D

  3. ডিফল্ট সিনট্যাক্স ব্যবহার করে নতুন কী দিয়ে লগ করুন:

    ssh user@host
    
    1. তারপর আপগ্রেড @hostএর authorized_keys, ফাইল দ্বারা সরানোর আপনি পুরানো pubkey (আমি ব্যবহার sed -e 1d -i .ssh/authorized_keysযখন আমার পুরোনো pubkey লাইন হয় 1এই ফাইলের)।

    2. যদি আপনি পারেন তবে আপনাকে ssh সার্ভার আপগ্রেড করার পরামর্শ দিচ্ছি।

    3. প্রস্থান
  4. পুরানো কী আর কাজ না করে পরীক্ষা করুন।

    ssh -i .ssh/id_dsa.pub -o PubkeyAcceptedKeyTypes=+ssh-dss user@host
    ...
    Permission denied...
    

    এটি কাজ করে না ;-)

  5. এমনকি সবকিছু ঠিক আছে কিনা তা আপনি আবার যাচাই করতে পারেন:

    ssh user@host uptime
    

আপনি কেন ভাবছেন যে এডিটিং ~/.ssh/configএত ভাল ধারণা নয় তা আমার কাছে স্পষ্ট নয়।
DW

কারণ এটি অবহেলিত এবং ssh লেখক ব্যবহার না করার জন্য পুনরায় চাও। Openssh.com/legacy.html
এফ হাউরি

ওহ, আমি বুঝেছি. দেখে মনে হচ্ছে আপনার উদ্বেগটি ~/.ssh/configপ্রতি সেকেন্ড সম্পাদনার ধারণার সাথে নয় বরং ডিএসএর অনুমতি দেওয়ার ধারণার সাথে। ব্যাখ্যা করার জন্য ধন্যবাদ। এটা বোধগম্য. (আমি মনে করি আমি ইতিমধ্যে আমার জবাব এবং আমার মন্তব্যে সম্বোধন করেছি কেন আমি সেই প্রস্তাবটি আশ্চর্যজনক বলে মনে করি, তবে আমি এখানে বিতর্ক করার চেষ্টা করব না।)
ডিডব্লু

সম্পাদনা .configআপনাকে sshদীর্ঘ সময়ের জন্য নির্বাহ করতে সক্ষম করে এবং এমনকী ধোঁয়াটে যে আপনি দুর্বল অ্যালগরিদম ব্যবহার করেন । -o Pubkey...কমান্ড লাইনে ব্যবহার করে আপনি ক্ষমা করবেন না যে আপগ্রেড করার মতো কিছু আছে
এফ হাউরি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.