যখন sshd ডিমন হয় কেবলমাত্র পাবলিক কী প্রমাণীকরণ ব্যর্থ হয়


33

এটি কীভাবে ঘটে সে সম্পর্কে আমার কোনও ধারণা নেই। ডিস্ট্রোটি বৈজ্ঞানিক লিনাক্স 6.1 এবং সর্বজনীন কী দ্বারা প্রমাণীকরণ সম্পাদনের জন্য সেট আপ করা হয়েছে। তবুও, যখন sshd ডেমন হিসাবে চলমান (সার্ভিস sshd শুরু), এটি সর্বজনীন কীগুলি গ্রহণ করে না। (এই টুকরো লগটি পেতে, আমি এসডিডি স্ক্রিপ্ট -dd বিকল্পটি যুক্ত করতে পরিবর্তন করেছি)

debug1: trying public key file /root/.ssh/authorized_keys
debug1: restore_uid: 0/0
debug1: temporarily_use_uid: 0/0 (e=0/0)
debug1: trying public key file /root/.ssh/authorized_keys2
debug1: restore_uid: 0/0
Failed publickey for root from xxx.xxx.xxx.xxx port xxxxx ssh2
debug3: mm_answer_keyallowed: key 0x7f266e1a8840 is not allowed
debug3: mm_request_send entering: type 22
debug3: mm_request_receive entering
debug2: userauth_pubkey: authenticated 0 pkalg ssh-rsa
debug3: Wrote 64 bytes for a total of 1853
debug1: userauth-request for user root service ssh-connection method publickey
debug1: attempt 2 failures 1

যদি sshd ডিবাগ মোডে চালিত হয় /usr/sbin/sshd -ddd, প্রমাণীকরণ একটি কবজ মত কাজ করে:

debug1: trying public key file /root/.ssh/authorized_keys
debug1: fd 4 clearing O_NONBLOCK
debug1: matching key found: file /root/.ssh/authorized_keys, line 1
Found matching RSA key: d7:3a:08:39:f7:28:dc:ea:f3:71:7c:23:92:02:02:d8
debug1: restore_uid: 0/0
debug3: mm_answer_keyallowed: key 0x7f85527ef230 is allowed
debug3: mm_request_send entering: type 22
debug3: mm_request_receive entering
debug3: Wrote 320 bytes for a total of 2109
debug2: userauth_pubkey: authenticated 0 pkalg ssh-rsa
Postponed publickey for root from xxx.xxx.xxx.xxx port xxxxx ssh2
debug1: userauth-request for user root service ssh-connection method publickey
debug1: attempt 2 failures 0

কোন ধারনা?? যে কেউ ভালো কিছু দেখা যায়?

নোট:

ফাইল অনুমতিগুলি ডাবল চেক করা হয়েছে:

# ll -d .ssh
drwx------. 2 root root 4096 Oct 14 10:05 .ssh
# ll .ssh
total 16
-rw-------. 1 root root  786 Oct 14 09:35 authorized_keys
-rw-------. 1 root root 1675 Oct 13 08:24 id_rsa
-rw-r--r--. 1 root root  393 Oct 13 08:24 id_rsa.pub
-rw-r--r--. 1 root root  448 Oct 13 12:51 known_hosts

আমাকে জিজ্ঞাসা করা হয়েছিল যে "ডিমন মোডে" sshd রুটের ফাইলগুলি অ্যাক্সেস করতে পারে। আমি এই প্রশ্নের নিকটতম উত্তর পাই:

# netstat -ntap | grep 22
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      19847/sshd 
# ps -ef | grep 19847
root     19847     1  0 09:58 ?        00:00:00 /usr/sbin/sshd

যদি sshd রুট হিসাবে চলমান থাকে তবে আমি জানি না যে এটির নিজস্ব ফাইল অ্যাক্সেস করা কীভাবে সম্ভব নয়। সেলিনাক্স কারণ হতে পারে?


1
Sshd init স্ক্রিপ্ট কি আকর্ষণীয় কিছু করে? (/Etc/init.d/sshd হওয়া উচিত?) যে আপনি কমান্ড লাইনে করছেন না? 'Sshd start' এর পরিবর্তে 'sh -x /etc/init.d/ssh start' চেষ্টা করুন।
পিটি

উত্তর:


42

হ্যাঁ, সেলইনাক্স সম্ভবত এর কারণ। .sshDir সম্ভবত mislabeled করা হয়। তাকান /var/log/audit/audit.log। এটি লেবেল করা উচিত ssh_home_t। সঙ্গে পরীক্ষা করুন ls -laZrestorecon -r -vv /root/.sshদরকার হলে চালান ।


1
হ্যাঁ, সেলইনাক্স এর কারণ ছিল: প্রকার = AVC msg = নিরীক্ষণ (1318597097.413: 5447): avc: পিড = 19849 কম = "এসএসডি" নাম = "অনুমোদিত_কিজ" দেব = ডিএম-0 ইনো = 262398 স্কনটেক্সট = আনকনফাইনড_উ জন্য অস্বীকার {পড়ুন denied : system_r: sshd_t: s0-s0: c0.c1023 tcontext = unconfised_u: object_r: admin_home_t: s0 tclass = file এটি "পুনরুদ্ধার -r -vv /root/.ssh" চালানোর পরে কাজ করে। অনেক ধন্যবাদ.
ব্যবহারকারী 666412

1
ধন্যবাদ সেলেনাক্স কমান্ড লাইন ফিক্স করার জন্য ধন্যবাদ আমি যুগে যুগে এটির জন্য কেন চেষ্টা করছিলাম যে আমি কেন আমার রেডহাট এন্টারপ্রাইজ 6.2 সার্ভারের মূল হিসাবে ssh কী প্রমাণীকরণ ব্যবহার করে এটি ssh করতে পারি, তবে আমি কোনও মূল-নন ব্যবহারকারী হিসাবে প্রবেশ করতে পারিনি একটি পাসওয়ার্ড প্রবেশ না করে। "ssh -v" কোনও অস্বাভাবিক কিছু দেখায়নি। আমি /home/example/.ssh এ ফাইল সুরক্ষাগুলি যাচাই করে দেখেছি এবং এটি "/ usr / sbin / sshd -d" চালানোর আগেই হয়নি এবং কিছু কারণে যে স্বাভাবিকভাবে কাজ করেছিল যে আমি বুঝতে পেরেছিলাম যে অন্য কিছু ঘটছে, এবং একটি ভিন্ন গুগল অনুসন্ধান করার চেষ্টা করেছে এবং এটি খুঁজে পেয়েছে। সুতরাং, লক্ষণগুলি হ'ল আমি রো হিসাবে ছুঁড়ে ফেলতে পারি
পল এম

1
আমাকে এটি পুরো ফাইল সিস্টেমে, অর্থাৎ restorecon -r /ওয়াইএমএমভিতে করতে হয়েছিল।
ইরাইফ

1
আমি এটি চেষ্টা করেছিলাম - তবে এখনও কাজ করছি না। অডিট লগটিতে আমার রয়েছে type=AVC msg=audit(1434642809.455:94717): avc: denied { search } for pid=27032 comm="sshd" name="/" dev=dm-2 ino=2 scontext=unconfined_u:system_r:sshd_t:s0-s0:c0.c1023 tcontext=system_u:object_r:file_t:s0 tclass=dir- এর অর্থ কী তা নিশ্চিত তা নয়
ইয়াহোসেফ

1
উত্তরটি ছিল name="/"- আমাকে restorecon -r /@ ইফফির পরামর্শ অনুসারে চালাতে হয়েছিল।
ইয়াহোসেফ

3

আমারো একই ইস্যু ছিল. আমার ক্ষেত্রে, পুনরুদ্ধার এবং chcon কাজ করে না।

আমি সেলিনাক্স অক্ষম করতে চাইনি। প্রচুর গবেষণার পরে, আমি অবশেষে এটি অনুধাবন করলাম কারণ আমার হোম ডিরেক্টরিটি অন্য কোথাও (এনএফএস) থেকে মাউন্ট করা হয়েছিল। আমি এই বাগ রিপোর্টটি পেয়েছি যা আমাকে প্রবেশ করেছিল।

আমি দৌড়েছি:

> getsebool use_nfs_home_dirs
use_nfs_home_dirs --> off

use_nfs_home_dirs বন্ধ ছিল তা নিশ্চিত করার জন্য এবং তারপরে:

sudo setsebool -P use_nfs_home_dirs 1

এটি চালু করতে।

এখন আমি আমার কী ব্যবহার করে এবং কোনও পাসওয়ার্ড প্রবেশ না করেই আমার মেশিনে এসশ করতে পারি। হোম_এনএফএস_আইডিয়ার বুলিয়ান ব্যবহারের বিষয়টি টগল করা আমার জন্য যা লেগেছে।


1

মার্ক ওয়াগনারের উত্তরে যুক্ত করতে, আপনি যদি কাস্টম হোম ডিরেক্টরি পাথ ব্যবহার করছেন (যেমন না /home) তবে আপনার অবশ্যই সিলিনাক্স সুরক্ষা প্রসঙ্গটি সেট করেছেন তা নিশ্চিত করতে হবে। এটি করার জন্য, যদি আপনার ব্যবহারকারীর হোম ডিরেক্টরি থাকে তবে উদাহরণস্বরূপ /myhome, চালান:

semanage fcontext -a -e /home /myhome
restorecon -vR /myhome

আপনি semanagesudo yum install policycoreutils-python
সেন্টোস এ থাকলে

0

দেখে মনে হচ্ছে আপনি 0x7f266e1a8840 বনাম 0x7f85527ef230 সংযোগগুলি পরীক্ষা করার সময় বিভিন্ন কী ব্যবহার করেন। ডেমন হিসাবে এবং ডিবাগ মোডে চলমান sshd করতে 'ssh -v example.com' ব্যবহার করে সংযুক্ত করার চেষ্টা করুন এবং "আরএসএ পাবলিক কী উপস্থাপন করা" স্ট্রিংয়ের আশেপাশে ssh দ্বারা ব্যবহৃত কীগুলি সন্ধান করুন।


হ্যাঁ, এখানে id_rsa এবং id_dsa ছিল। ডিএসএ কী চলে গেছে এবং আমি পরীক্ষাটি আবার করব।
ব্যবহারকারী 666412

উল্লিখিত মানটি debug3: mm_answer_keyallowed: key 0xFFFFFFFFFFপ্রতিবার এসএসএসডি একটি নতুন সংযোগ পেলে পরিবর্তিত হবে। এটি নিশ্চিত করার জন্য, এসএসএইচ যেখানে কাজ করে এমন একটি সার্ভার সন্ধান করুন, ডিএসব 3-এ sshd LOGLEVEL ক্র্যাঙ্ক করুন, sshd পুনরায় চালু করুন, চালান tail -f /var/log/secure |grep mm_answer_keyallowedএবং তারপরে প্রতিটি সংযোগের মধ্যে কয়েক সেকেন্ড (বা মিনিট) অপেক্ষা করে কয়েকবার লগ ইন করুন। আপনি দেখতে পাবেন যে প্রতিবারের মান পরিবর্তন হয়। এবং আসলে এটি আমার কাছে কাউন্টারের মতো দেখাচ্ছে।
স্টিফান লাসিউইস্কি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.