অনুমোদিত_কিগুলি কাজ করে এসএসএসের মাধ্যমে স্বয়ংক্রিয়ভাবে লগইন করবে না কেন?


12

আমি একটি প্রাইভেট / পাবলিক ডিএসএ-কিপায়ার তৈরি করেছি। আমি সার্ভারে সর্বজনীন কীটি রেখেছি

~/.ssh/authorized_keys

সবকিছু আমার অন্যান্য সার্ভারের মতো সেট আপ করা হয়েছে তবে মনে হচ্ছে সার্ভারটি কেবল আমার প্রচেষ্টাটিকে উপেক্ষা করছে।


যাচাই করুন /etc/ssh/ssh_configএবং /etc/ssh/sshd_configযাচাই করুন যা আপনি চান তা অক্ষম নয়।
ক্রিস্তোফার জনসন

আপনি sshd_config পরীক্ষা করতে চাইবেন।
ভ্যাগনারার

ধন্যবাদ। আমি উত্তরটি আপডেট করেছি (যা মূলত কেবলমাত্র ssh_config উল্লেখ করেছে)।
ক্রিস্টোফার জনসন

আপনি ssh এর একটি ওপেনশ স্টাইল ব্যবহার করছেন যদি উপরের সমস্ত আলোচনার জন্য উপযুক্ত। যদি আপনি সিস্টেমে ssh2 ব্যবহার করে থাকেন তবে কীগুলি পরিচালনা করার জন্য এটির পুরোপুরি অযথা। এই নিবন্ধে হাওস এবং কী নিয়ে আলোচনা করা হয়েছে। বার্ন.সওয়ার্ডপ্রেস.com
ক্রিস

1
সাধারণত /var/log/auth.logডেবিয়ান সিস্টেমগুলিতে বা /var/log/secureরেডহ্যাটগুলি পরীক্ষা করে আপনাকে কী ভুল ধারণা দেওয়া হয়েছে (সাধারণত অনুমতিগুলির সমস্যা) কী তা সম্পর্কে একটি স্পষ্ট পরামর্শ দেওয়া উচিত
জিওভান্নি টোরাল্ডো

উত্তর:


15

যদিও আপনার সমস্যাটি ইতিমধ্যে অন্যান্য উত্তরদাতাদের দ্বারা সমাধান হয়ে গেছে, আমি সাইন আপ করার আগে sshd_config পরিবর্তনগুলি বৈধতা না দেওয়ার জন্য পর্যাপ্ত মেশিনগুলি থেকে নিজেকে লক করেছি তাই নীচের প্রক্রিয়াটি সামনে এসেছি যা ভবিষ্যতে sshd কনফিগার পরিবর্তনগুলির ডিবাগিংয়ের জন্য দরকারী হতে পারে:

পরীক্ষার পরে পরীক্ষা করা যাচাই করা আচরণ যেমনটি আপনি প্রত্যাশা করেন ততক্ষণ সক্রিয় সংযোগ সংযোগ বিচ্ছিন্ন করবেন না।

ক। sshd কী করার কথা বলেছে তা যাচাই করুন

খ। "-t" ব্যবহার করে কনফিগারেশনটি বৈধ কিনা তা যাচাই করুন

গ। আপনি লাইভ মনিটর করতে পারেন এমন সার্ভারের একটি ভার্বোস 'পরীক্ষা' সংস্করণ শুরু করুন

ঘ। আপনি সরাসরি মনিটর করতে পারেন এমন একটি ভার্বোস 'পরীক্ষা' ক্লায়েন্ট সংযোগ শুরু করুন


ক। sshd কী করার কথা বলেছে তা যাচাই করুন

নীচের মত কিছু দিয়ে সমস্ত মন্তব্য ছাড়াই sshd কনফিগারেশন ফাইলটি পর্যালোচনা করুন (ধরে নিই যে sshd_config সঠিক ফাইল এবং / ইত্যাদি / এসএসএসে)

$ গ্রেপ-ভি "^ #" / ইত্যাদি / এসএসএস / এসএসডি_কনফিগ | গ্রেপ-ভি "^ $"

এটি কেবল জিনিসগুলি পরিষ্কার করে দেয় তাই আমরা যা পরিবর্তন করি তা যাচাই করি তা যাচাই করি (এটি সঠিক কিনা তা অগত্যা নয়))

খ। "-t" ব্যবহার করে কনফিগারেশনটি বৈধ কিনা তা যাচাই করুন

আমি যে এসএসডি এর ব্যবহার করছি তার ম্যান পৃষ্ঠা থেকে,

টেস্ট মোড। শুধুমাত্র কনফিগারেশন ফাইলের বৈধতা এবং কীগুলির বিশুদ্ধতা পরীক্ষা করুন। কনফিগারেশন বিকল্পগুলি পরিবর্তিত হতে পারে এটি নির্ভরযোগ্যভাবে sshd আপডেট করার জন্য দরকারী।

অন্যান্য পরিবর্তনগুলির আরও সূক্ষ্ম পরিস্থিতি থাকতে পারে। উদাহরণস্বরূপ, পাবলিক কী প্রমাণীকরণ সঠিকভাবে কাজ করছে তা আপনি নিশ্চিত না হওয়া পর্যন্ত পাসওয়ার্ড প্রমাণীকরণ অক্ষম করবেন না।

গ। আপনি লাইভ মনিটর করতে পারেন এমন সার্ভারের একটি ভার্বোস 'পরীক্ষা' সংস্করণ শুরু করুন

$ sudo / usr / sbin / sshd -ddd -p 9999

এটি আপনার বিদ্যমান, কার্যক্ষম অধিবেশনকে সক্রিয় রাখে, তবে আপনার নতুন কনফিগারেশন পরিবর্তনগুলি যাচাই করতে আপনাকে sshd এর আরেকটি উদাহরণ দেয়। এসএসএইচডি এখন ব্যবহারকারী-সংজ্ঞায়িত বন্দরে (আমাদের উদাহরণস্বরূপ 9999) অগ্রভাগে চলছে এবং আপনি / var / লগ / অথলগ (বা সম্ভবত /var/log/auth.log উপর নির্ভর করে ট্র্যাক করতে পারেন এমন প্রচুর গোলমাল ডিবাগের তথ্যই পুশ করছেন) আপনার ওএসে।)

ঘ। আপনি সরাসরি মনিটর করতে পারেন এমন একটি ভার্বোস 'পরীক্ষা' ক্লায়েন্ট সংযোগ শুরু করুন

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

sh ssh -vvv -p 9999 সার্ভার-নাম

আপনার সমস্যাটি আলাদা করতে আপনার এখন সার্ভারের লগ ফাইলগুলিতে বা ক্লায়েন্টের সংযোগ স্ক্রিনে যথেষ্ট তথ্য থাকা উচিত।

সমাধানটি সাধারণত ফাইল অনুমতি নেমে আসে (ম্যাগনার এবং সেতটকাহাশি দ্বারা দেখানো হয়েছে)

শুভকামনা করছি


আমার ধারণা আপনার ক্লায়েন্টের শেষের দিকে ssh_config ফাইলটি পরীক্ষা করা উচিত তা নিশ্চিত করে এটি আপনার প্রত্যাশাটি করছে কি না। মন্তব্যগুলি গ্রেপ করতে নীচের মতো কিছু ব্যবহার করুন:> গ্রেপ-ভি "^ #" / ইত্যাদি / এসএসএস / এসএস_কনফিগ | গ্রেপ-ভি "^ $"
25:55 এ 22

ভাল, ক্লায়েন্ট ssh কনফিগারেশন যে কোনও সময় সংশোধন করা যেতে পারে, এটি সার্ভারটি লক হয়ে গেছে যদি আপনি এটি ভুলরূপে কনফিগার করেছেন।
সোভিয়েরো

33

মালিকের বৈশিষ্ট্যগুলি ভুল হলে সার্ভারটি আপনার অনুমোদিত_কিজি ফাইলটিকে উপেক্ষা করবে। এটিতে এটি পরিবর্তন করা এটি ঠিক করে:

chmod 0700 ~/.ssh
chmod 0600 ~/.ssh/authorized_keys

6
ssh -vvv -l ব্যবহারকারীর সার্ভার.ডোমেন আপনাকে বলবে যদি আপনার কোনও বৈধ কী পাঠানো হয়
ডেভ চেনি

কখনও কখনও আমি এসএসডি-কে বাড়ির ডিরেক্টরিতে খারাপ অনুমতি সম্পর্কে অভিযোগ করতে দেখেছি - সুতরাং সেতাটকাহশির মতো আমি তালিকায় "chmod o-rwx ~" (বা কমপক্ষে "chmod ওউ ~") যুক্ত করব। লগফিলটি নিরীক্ষণ করা হলে এটি সাধারণত স্পষ্ট হয় - আমি যে ত্রুটি বার্তাগুলি দেখেছি সেখানে সবসময় সঠিক দিক নির্দেশ করে।
ওলাফ

এই উত্তরটি সম্ভবত বেশিরভাগই মনে হচ্ছে, তবে সত্যিই কী চলছে তা দেখার একমাত্র উপায় ডেভ চেনীর মন্তব্য। সার্ভার লগগুলিও পরীক্ষা করে দেখুন।
dwc

এটা আমার সমস্যা ছিল। আমি কয়েক ঘন্টা ধরে এই উপর আমার মাথা মারলাম। অনেক ধন্যবাদ!
স্যাম সোফেস

1
এই কৌতুক করেনি, কিন্তু আমার পূর্ববর্তী অনুমতি ছিল 0775এবং 0644যথাক্রমে। অনুমতিগুলি হ্রাস করা কেন সহায়তা করেছিল? এটি কি কোথাও কনফিগার করা সুরক্ষা সতর্কতা?
ডিন

11

$ chmod 700 ~

mod chmod 700 ~ / .ssh

mod chmod 600 ~ / .ssh / অনুমোদিত_কিগুলি

এই বৈশিষ্ট্যগুলির জন্য / etc / ssh / sshd_config দেখুন

do sudo grep PubkeyAuthentication / etc / ssh / sshd_config

do sudo গ্রেপ প্রোটোকল / ইত্যাদি / ssh / sshd_config


2
~ সম্পর্কে দুর্দান্ত বক্তব্য, আপনাকে অবশ্যই নিশ্চিত করতে হবে যে নিজের ব্যতীত অন্য কেউ আপনার হোম ডিরেক্টরিতে লিখতে না পারে, অন্যথায় তারা আপনার ~ / .ssh ডিরেক্টরিটির নাম পরিবর্তন করতে পারে
ডেভ চেনি

যে শেষ chmod হওয়া উচিত: $ chmod 600 ~/.ssh/authorized_keysনা$ chmod 600 ~/.sHh/authorized_keys
SooDesuNe

3
অ্যাট্রিবিউট মান কি উচিত হবে ?
মাইকেল

0

আরেকটি গুরুত্বপূর্ণ বিপদ ..

আপনার হোম ডিরেক্টরি যদি এনক্রিপ্ট করা থাকে তবে sshd ~ / .ssh / অনুমোদিত_কিগুলি অ্যাক্সেস পাবে না ..

এই উত্তর দেখুন

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