উবুন্টু 14.04.1 এ কাজ করছে এমন পাবলিক কী (কোনও পাসওয়ার্ড নেই) + সহ Google এসএসএফ পাওয়ার চেষ্টা করছে


20

আমি উবুন্টু 14.04.1 ব্যবহার করছি (ওপেনএসএসএইচ 6.6 এবং লিবপ্যাম-গুগল-প্রমাণীকরণকারী 20130529-2 সহ)।

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

এই নির্দেশাবলী অনুসরণ / মানিয়ে নেওয়ার ফলে আমাকে একটি পাসওয়ার্ড প্রম্পট এবং সেইসাথে গুগল আথ প্রম্পট পেয়েছে:

আমি প্যাকেজ ইনস্টল করেছি, আমার /etc/ssh/sshd_configএবং /etc/pam.d/sshফাইলগুলি সম্পাদনা করেছি

ইন /etc/ssh/sshd_config:

ChallengeResponseAuthentication yes
AuthenticationMethods  publickey,keyboard-interactive
UsePAM yes

এবং এর নীচে /etc/pam.d/ssh:

auth required pam_google_authenticator.so nullok # (I want to give everyone a chance to set up their 2FA before removing "nullok")

আমি জানি পিএএম অর্ডার নির্ভর, তবে তা sshd_configকি?

আমি কি ভুল করছি? কোন সাহায্য প্রশংসা করা হবে।

উত্তর:


28

এটি ভালভাবে কাজ করতে পেরেছেন, আগে করেছেন:

apt-get install libpam-google-authenticator

ইন /etc/pam.d/sshdআমি পরিবর্তিত হয়েছে / যোগ নিম্নলিখিত পংক্তিগুলি (উপরের):

# @include common-auth
auth required pam_google_authenticator.so

এবং এতে /etc/ssh/sshd_config:

ChallengeResponseAuthentication yes
UsePAM yes
AuthenticationMethods publickey,keyboard-interactive
PasswordAuthentication no

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

উবুন্টু 14.04.1 এলটিএস (জিএনইউ / লিনাক্স 3.8.0-19-জেনেরিক x86_64) ssh -v সহ ব্যবহার করুন: ওপেনএসএসএইচ_6.6.1 পি 1 উবুন্টু -2 বুন্টু 2, ওপেনএসএসএল 1.0.1f 6 জানুয়ারী 2014


সুতরাং, উত্তরসূরির জন্য, আমি আমার সমস্যা বুঝতে পেরেছি। আমিও চেষ্টা করেছিলাম PasswordAuthentication no, কিন্তু তা ছিল না। সমস্যা / যে আমি ছিল / আছে ছিল ControlMaster autoএবং ControlPathআমার ~ / .ssh / কনফিগ ফাইলে নির্দেশনা। আমি নিশ্চিত করতে চেয়েছিলাম যে আমি নিজেকে লক আউট করব না, তাই আমি সর্বদা একটি এসএসএইচ অধিবেশন খোলা রাখব। যেহেতু আমার কম্পিউটারটি কেবল তাদের পুনরায় ব্যবহার করবে, তাই আমি সর্বদা সিস্টেমটিকে একটি টোকেন না চেয়ে withoutুকি। আমি আপনার উত্তরটিকে সঠিক হিসাবে চিহ্নিত করেছি, যেহেতু এটির অনুসরণকারী কেউ সত্যিই একটি কাজের সেটআপ পাবে। ধন্যবাদ!
জেটি

2
আমি 7. সেন্টওএস ব্যবহার আমি আছি PasswordAuthentication no, ChallengeResponseAuthentication yes, AuthenticationMethods publickey,keyboard-interactive, এবং UsePAM yessshd_config। এটি আমার কীটি বৈধতা দেয় এবং তারপরে আমাকে আমার Google প্রমাণীকরণকারী টোকেন জিজ্ঞাসা করে এবং তারপরে আমাকে আমার পাসওয়ার্ডের জন্যও জিজ্ঞাসা করে। আমাকে তিনটি করে তোলে them সেগুলির কোনওটি এড়িয়ে যেতে পারে না। AuthenticationMethods publickey,keyboard-interactive:pamম্যান পেজের পরামর্শ অনুসারে আমি চেষ্টাও করেছি , কিন্তু এতে কোনও পরিবর্তন হয়নি। কোন ধারনা?
নিক উইলিয়ামস

6
@ নিক উইলিয়ামস আমার একই সমস্যা ছিল। আমার জন্য যা স্থির হয়েছিল তা হ'ল @include common-authউত্তরগুলির যে রেখাটি দেখানো হয়েছে তার প্রশংসা করার দরকার ছিল । আমি কেবল ভেবেছিলাম এটি pam_google_authenticatorপ্রথমে /etc/pam.d/sshd লাইনের জন্য একটি মন্তব্য ।
ফ্রেব

5
ধন্যবাদ! আমার সমাধান হুবহু এক রকম ছিল না (আমার মন্তব্য করার দরকার ছিল auth substack password-auth), তবে আপনার মন্তব্যটি আমার সমস্যার সমাধান করেছে!
নিক উইলিয়ামস


7

আমি শেষ পর্যন্ত auth [success=done new_authtok_reqd=done default=die] pam_google_authenticator.so nullokশীর্ষে রেখে এই কাজটি করতে সক্ষম হয়েছি /etc/pam.d/sshd

প্যাম.ড ম্যান পৃষ্ঠা অনুসারে :

  • success=done এর অর্থ হ'ল গুগল প্রমাণীকরণকারী যদি সাইন অফ করে, আর কোনও প্রমাণীকরণ করা হবে না, অর্থাত কোনও অতিরিক্ত পাসওয়ার্ড প্রম্পট নয়।
  • default=die এর অর্থ হ'ল গুগল প্রমাণীকরণকারী যদি লগইন প্রয়াসকে বাতিল করে দেয় তবে প্রমাণীকরণ তত্ক্ষণাত ব্যর্থ হবে, পাসওয়ার্ড প্রম্পটটি এড়িয়ে চলে।

সুতরাং [success=done new_authtok_reqd=done default=die]মধ্যে একটি মিশ্রণ সাজানোর sufficientএবং requisiteনিয়ন্ত্রণ মান যেহেতু আমরা উভয় থেকে আচরণ চাই: যদি সাফল্য, বিনষ্ট অবিলম্বে (যথেষ্ট), এবং ব্যর্থতা যদি, এছাড়াও অবিলম্বে (প্রয়োজনীয়) বিনষ্ট।

নোট করুন যে nullokpam_google_authenticator.so এর সাথে যুক্তিটির অর্থ এই যে ~/.google_authenticatorকোনও ব্যবহারকারীর জন্য যদি কোনও ফাইল খুঁজে পাওয়া না যায় তবে সর্বজনীন-কী প্রমাণীকরণ স্বাভাবিক হিসাবে এগিয়ে যায়। যদি আমি আমার অ্যাকাউন্টগুলির কেবলমাত্র একটি সাবসেট 2 এফএ দিয়ে লক করতে চাই তবে এটি কার্যকর।


6

লিনাস কেন্ডালের উত্তরটি পুরানো সিস্টেমে কাজ করা উচিত, তবে নতুন লিনাক্স মেশিনে এটি সমস্যাযুক্ত; আমার আর্চ লিনাক্স ভিত্তিক ওয়েবসভারে যে কনফিগারেশনের ফলে পামে আমার প্রমাণীকরণকারী কোড এবং আমার এসএসসি প্রাপ্তির পরে আমার পাসওয়ার্ড জিজ্ঞাসা করবে (যেমন আমার সমস্ত 3 প্রয়োজন)।

একটি সহজ সমাধান যা এই সমস্যাটিকে প্রতিরোধ করে এবং যা প্রতিটি সিস্টেমে কাজ করা উচিত তা হল এন্ট্রি পরিবর্তন /etc/pam.d/sshdকরা:

auth sufficient pam_google_authenticator.so

এবং তারপরে লিনাস উল্লিখিত `` / etc / ssh / sshd` তে একই সম্পাদনা করতে:

ChallengeResponseAuthentication yes
UsePAM yes
AuthenticationMethods publickey,keyboard-interactive
PasswordAuthentication no

সার্ভারটি আপনার সর্বজনীন কী গ্রহণ করার পরে এটি আপনাকে আপনার প্রমাণীকরণকারী টোকেনের জন্য জিজ্ঞাসা করবে। এটি আপনার পাসওয়ার্ড জিজ্ঞাসা করা উচিত নয়।

পার্শ্ব নোট হিসাবে, আপনি যদি কোনও sftp ব্যবহারকারীর অ্যাকাউন্ট রাখতে চান তবে এটির কাজটি পেতে আপনাকে সম্ভবত গুগল প্রমাণীকরণকারীকে বাইপাস করতে হবে। কোনও এসএফপি জেল ব্যবহার করে কীভাবে নিরাপদে এটি করবেন তা এখানে একটি পরামর্শ is ইন etc/ssh/sshd_config:

Subsystem sftp internal-sftp
Match User ftp-user
  PasswordAuthentication yes
  AuthenticationMethods password
  ChrootDirectory /path/to/ftp/dir
  ForceCommand internal-sftp

আপনাকে কেবল / পাথ / টু / এফটিপি / ডির রুট লেখার অনুমতি দিতে হবে (উদাহরণস্বরূপ chown root:root /path/to/ftp/dir, chmod 755 /path/to/ftp/dirএই ডিরেক্টরিতে উপরে থাকা সমস্ত পিতামাতারও সুরক্ষিত অনুমতি প্রয়োজন I আমি সাধারণত যেভাবে এটি করি তা হল ক্রট ডিরেক্টরি /home/shared/userতৈরি করে একটি তৈরি করা a সেখানে ডিরেক্টরি (উদাহরণস্বরূপ 'ডেটা') এবং তারপরে আমি যে কোনও ডিরেক্টরি যা ভাগ করতে চাই তা মাউন্ট করুন:sudo mount -o bind /path/to/ftp/dir /home/shared/user/data

আপনি যদি এই সমস্ত পদক্ষেপ অনুসরণ করেন তবে আপনার ssh ব্যবহারকারীদের জন্য আপনার পাবলিক কী + গুগল প্রমাণীকরণকারী লগইন এবং ডেটা স্থানান্তরের জন্য একটি কার্যকরী পাসওয়ার্ড সুরক্ষিত এসফ্টপ অ্যাকাউন্ট থাকবে।


এটি দুর্দান্ত কাজ করে। এবং যেহেতু কোনও কারণে আমি সাধারণ-লেখক সম্পর্কে মন্তব্য করতে স্বাচ্ছন্দ্য বোধ করি না, এটি লিনাসের সমাধানের চেয়ে আদর্শ ছিল।
লুক সাপান

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