আমি কীভাবে এসএসএইচ সেট আপ করব যাতে আমাকে একটি পাসওয়ার্ড টাইপ না করতে হবে এবং কোনও পাবলিক কী ব্যবহার না করে?


9

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

RSAAuthentication no
PubkeyAuthentication no

মধ্যে /etc/ssh/sshd_config। সার্ভারে আমার কোনও প্রশাসনিক অ্যাক্সেস নেই তাই আমি এগুলি বা অন্য কোনও সার্ভার কনফিগারেশন বিকল্পগুলি পরিবর্তন করতে পারি না। (অবশ্যই আমি ক্লায়েন্ট কনফিগারেশনের উপর সম্পূর্ণ নিয়ন্ত্রণ রাখি: লিনাক্সে ওপেনএসএসএইচ 5.8।)

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

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

#ChallengeResponseAuthentication yes

#KerberosAuthentication no

GSSAPIAuthentication yes
GSSAPICleanupCredentials yes

#UsePAM no

এবং এখানে একটি ডিবাগ ( -vv) ট্রেস রয়েছে:

debug1: Authentications that can continue: gssapi-with-mic,password,keyboard-interactive
debug1: Next authentication method: gssapi-with-mic
debug1: Unspecified GSS failure.  Minor code may provide more information
Credentials cache file '/tmp/krb5cc_1000' not found
debug1: Unspecified GSS failure.  Minor code may provide more information
Credentials cache file '/tmp/krb5cc_1000' not found
debug1: Unspecified GSS failure.  Minor code may provide more information

debug1: Unspecified GSS failure.  Minor code may provide more information

debug2: we did not send a packet, disable method
debug1: Next authentication method: keyboard-interactive
debug2: userauth_kbdint
debug2: we sent a keyboard-interactive packet, wait for reply
debug1: Authentications that can continue: gssapi-with-mic,password,keyboard-interactive
debug2: we did not send a packet, disable method
debug1: Next authentication method: password

সার্ভারে কি আছে /etc/krb5.keytab? জিএসএসএপিআই (কার্বেরোস) ক্লায়েন্ট-সাইড সেট আপ করা সহজ হতে পারে; যদিও আমাকে সার্ভারের হোস্ট-নেম চাইতে হবে। (এছাড়াও: keyboard-interactiveখুব অনুরূপ passwordপ্রম্পট: এক সীমাবদ্ধ নয় ব্যতীত "পাসওয়ার্ড"।)
user1686

@ গ্রাভিটি না /etc/krb5.keytab, তবে এটি রয়েছে /etc/krb5/krb5.keytab। আমার সামগ্রীতে অ্যাক্সেস নেই। সার্ভারের নামটি sftp.pass.psu.edu(আমি মনে করি না যে নামটি দেওয়ার কোনও ক্ষতি নেই) যদি এটি আপনাকে পদ্ধতিটি ব্যাখ্যা করতে সহায়তা করে।
ডেভিড জেড

আঃ, পুরাতন পিএসইউ পাসডিস্ক। এমন মনোরম স্মৃতি। আমি পাসওয়ার্ড প্রমাণীকরণে বেশ খুশি ছিলাম। 'নেট' না পৌঁছানোর পরিবর্তে আপনি কেন ক্যাম্পাসের কম্পিউটিং ফোককে জিজ্ঞাসা করলেন না (আমি সেখানে গিয়েছিলাম তখন সিএসি ছিল)? আমার অর্থ, ওমন, তাদের একটি দেবিয়ান আয়না রয়েছে। এগুলি সমস্ত উইন্ডোজ-কেবল অ্যাডমিন নয়।
ব্রোম

@ ব্রোম আমি ভাবতে পারি না যে আমিই প্রথম জিজ্ঞাসা করব, সুতরাং সম্ভবত তাদের এটিকে এভাবে রাখার কিছু কারণ আছে ... আমি মনে করি যদিও চেষ্টা করার ফলে এটি ক্ষতিগ্রস্থ হবে না।
ডেভিড জেড

উত্তর:


3

এই ক্ষেত্রে, একটি প্রত্যাশা স্ক্রিপ্ট লেখা (বা আরও ভাল রেকর্ডিং) আপনার বিকল্পগুলির মধ্যে একটি হবে।

প্রতিটি সিস্টেম আলাদা আলাদা তাই কোনও স্ক্রিপ্ট থাকবে না, তবে অটোেক্সেপেক্টের সাথে এই উদ্দেশ্যে কোনও স্ক্রিপ্ট রেকর্ড করা খুব সহজ।


গুরুতরভাবে অনিরাপদ, তবে সহজ এবং সর্বাধিক প্রত্যক্ষ উত্তর হওয়ার জন্য একটি উত্সাহ রয়েছে।
জ্যাক বি

ভাল যুক্তি. এটি আরও ভাল যে এই সমস্তগুলি ফায়ারওয়ালের পিছনে এবং একটি ব্যক্তিগত নেটওয়ার্কে করা হয়েছে।
জনহেন 64৪

8

এখনও অবধি সংগৃহীত তথ্য থেকে, সার্ভারটি sftp.pass.psu.eduকার্বেরোস 5 (জিএসএসএপিআই) প্রমাণীকরণ সমর্থন করে এবং dce.psu.eduবাস্তবে রয়েছে।

অনেক সার্ভার এবং ওয়ার্কস্টেশন সহ নেটওয়ার্কগুলিতে কার্বেরোস খুব সাধারণ; অনেক বড় বড় শিক্ষা প্রতিষ্ঠান এটি স্থাপন করেছে। পাবলিক-কী প্রমাণীকরণের তুলনায় এর সুবিধাগুলি হ'ল এককটি kinitকার্বারোস অঞ্চলে সমস্ত মেশিনকে প্রতিটিের কাছে পাবলিক কী অনুলিপি না করে স্বয়ংক্রিয়ভাবে শংসাপত্র সরবরাহ করে। আরেকটি হ'ল প্রোটোকল সমর্থন - একই শেরবারোস শংসাপত্রগুলি কেবল এসএসএইচ নয়, 30 টিরও বেশি প্রোটোকল (মেল, ফাইল সিস্টেম, ডাটাবেস ...) দিয়ে ব্যবহার করা যেতে পারে।

("ক্লুলেস উইন্ডোজ-কেবলমাত্র প্রশাসকগুলি" সম্পর্কিত: dce.psu.eduবাস্তবে বাস্তবে অ্যাক্টিভ ডিরেক্টরিতে এবং উইন্ডোজ সার্ভার দ্বারা হোস্ট করা থাকে বলে মনে হয়))

এই পদক্ষেপগুলি অনুসরণ করে দেখুন:

  1. কার্বেরোজে লগ ইন করুন। ( সিস্টেমগুলি ইতিমধ্যে অন্তর্ভুক্ত না করা থাকলে kinitএবং klistসরঞ্জামগুলি "krb5- ব্যবহারকারী" বা অনুরূপ প্যাকেজে থাকতে পারে be)

    kinit your_username @ dce.psu.edu
    

    যদি কোনও ত্রুটি প্রদর্শিত না হয়, লগইন সফল হয়েছিল। klistএকটি " krbtgt/dce.psu.edu@..." আইটেম প্রদর্শন করা উচিত ।

  2. এখন এসএসএইচ সার্ভারের সাথে সংযোগ -vvকরুন, বিকল্পগুলি সহ; প্রমাণীকরণ সফল হয়, ভাল।

    যদি এটি না হয় তবে আপনার /etc/krb5.confফাইলটি সম্পাদনা করতে হতে পারে । [domain_realm]বিভাগের অধীনে , নিম্নলিখিতগুলি যুক্ত করুন:

    [domain_realm]
        .psu.edu = dce.psu.edu
    
  3. ডিফল্ট Krb5 সেটিংস সহ, # 1 এ প্রাপ্ত টিকিটটি 10 ​​ঘন্টাের জন্য বৈধ এবং এক সপ্তাহ অবধি নবায়নযোগ্য should তবে আমার কাছে সেটিংস যাচাইয়ের কোনও উপায় নেই।

    আপনি যদি কোনও ফাইলে পাসওয়ার্ড রাখতে চান তবে একটি সরল kinit your_principal < password.txtকাজ করা উচিত, যদিও এটি সম্পূর্ণ নির্ভরযোগ্য নয়।

    সঙ্গে ktutilএটিও সম্ভব হতে একটি করতে "keytab" পাসওয়ার্ডের পরিবর্তে ব্যবহারের জন্য।

    $ ktutil
    ktutil: addent -password -p your_principal -k 1 -e aes256-CTS-hmac-sha1-96আপনার_নীতি সংক্রান্ত 
    পাসওয়ার্ড : *********
    কেটিটিল: ডাব্লু 
    কেটি কিট্যাব_ফাইল কটিটিল:  CtrlD
    

    এবং ব্যবহার করে লগ ইন করুন:

    in কিনিত-  কেটি কীটাব_ফাইলে_আপনার মূলসূত্র
    

এটি আমার কাছে আদর্শের খুব কাছাকাছি হওয়া উচিত বলে মনে হয়, তবে এটি কাজ করে বলে মনে হয় না - আমি কেরবারোসকে সফলভাবে লগ ইন করতে সক্ষম হয়েছি (কোনও ত্রুটির বার্তা নেই), তবে আমি এখনও একটি পাসওয়ার্ডের জন্য অনুরোধ করব। এর থেকে ত্রুটি বার্তাগুলি ssh -vvআমি পোস্ট করা ট্রেসটির অনুরূপ debug1: Unspecified GSS failure. Minor code may provide more information\n Server not found in Kerberos database, শংসাপত্রের ক্যাশে ফাইলটির সন্ধান না পাওয়ায় আমি তার পরিবর্তে পাচ্ছি ।
ডেভিড জেড

আহ, মনে হচ্ছে "ক্লুহলেস উইন্ডোজ-কেবলমাত্র অ্যাডমিনগুলি" এর জন্য কীট্যাব সেটআপ করেছে host/sftp.pass.psu.eduতবে এর আসল নামটি হওয়া উচিত ছিল host/lutz.cac.psu.edu। আপনি 128.118.2.85 sftp.pass.psu.eduআপনার / ইত্যাদি / হোস্টগুলিতে " " যোগ করে এটি পেতে পারেন , তবে এটি একদম কুৎসিত - যদি প্রশাসকরা সার্ভারটি ঠিক করে
রাখেন

হ্যাঁ, এটি হবে ... আমি তাদের এটি সম্পর্কে জিজ্ঞাসা করব, তবে আপাতত আশা করি আপনার সমাধানের বিষয়গুলি নিষ্পত্তি করা উচিত। আমি আগামীকাল চেষ্টা করব।
ডেভিড জেড

@ ডেভিডজাসলভস্কি: তাদের কাছে এটি উল্লেখ করা কার্যকর হতে পারে যে এমআইটি ক্রিব 5 ভি 1.10 একক কীট্যাবে একাধিক হোস্ট প্রিন্সিপালকে (যেমন উভয় host/lutz.cac.psu.edu এবং host/sftp.pass.psu.edu) সমর্থন করে । (পূর্ববর্তী সংস্করণগুলি কেবলমাত্র প্রথমটি ব্যবহার করেছে))
ব্যবহারকারীর 1686

দুঃখিত আমি ফিরে এসে এই বিষয়ে প্রতিক্রিয়া জানাতে ভুলে গেছি। /etc/hostsপ্রস্তাবিত হিসাবে পরিবর্তন হিসাবে আমি পেতে debug1: Unspecified GSS failure. Minor code may provide more information Generic error (see e-text)। আউটপুটটিতে অন্য কোনও কিছুই ত্রুটির সাথে প্রাসঙ্গিক নয়।
ডেভিড জেড

3

আমি একটি মিশ্র সমাধান বিবেচনা করব, যেখানে আপনি একবারে পাসওয়ার্ডটি প্রবেশ করেন এবং কম্পিউটার দূরবর্তী এসএসএইচ সার্ভারে একটি সকেট বজায় রাখে। আপনি ঠিক সেই কারণে সেটআপ করতে এই পদক্ষেপগুলি অনুসরণ করতে পারেন ControlMaster


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

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