সংযোগ বিচ্ছিন্ন: কোনও সমর্থিত প্রমাণীকরণ পদ্ধতি উপলভ্য নয়


12

আমি বর্ণিত ঠিক একই সমস্যা আছে এই থ্রেড , কিন্তু উত্তর গৃহীত সেখানে আমার জন্য সঠিক নয় কারণ ব্যবহারকারীর হোম ডিরেক্টরির হয় স্থানীয়।

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

আমি এখন সন্দেহ করি যে আমি সার্ভার সাইডে (লিনাক্স, এসএসডি) কিছু হারিয়ে ফেলছি, সুতরাং আমি বর্তমান /etc/ssh/sshd_configসামগ্রীটি পোস্ট করছি :

Protocol 2
SyslogFacility AUTHPRIV
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys
PasswordAuthentication no
PermitEmptyPasswords yes
ChallengeResponseAuthentication no
UsePAM yes
X11Forwarding yes
Subsystem       sftp    /usr/libexec/openssh/sftp-server

আমি কি ভুল করছি কোন ধারণা?

আপডেট: আমি ডিবাগ মোডে sshd চালানোর জন্য একটি টিপ খুঁজে পেয়েছি এবং এখানে ফলাফল:

/home/winwin> /usr/sbin/sshd -d
debug1: sshd version OpenSSH_4.2p1
debug1: read PEM private key done: type RSA
debug1: private host key: #0 type 1 RSA
debug1: read PEM private key done: type DSA
debug1: private host key: #1 type 2 DSA
debug1: rexec_argv[0]='/usr/sbin/sshd'
debug1: rexec_argv[1]='-d'
debug1: Bind to port 22 on ::.
Server listening on :: port 22.
debug1: Bind to port 22 on 0.0.0.0.
Bind to port 22 on 0.0.0.0 failed: Address already in use.
debug1: Server will not fork when running in debugging mode.
debug1: rexec start in 4 out 4 newsock 4 pipe -1 sock 7
debug1: inetd sockets after dupping: 3, 3
Connection from 192.168.1.8 port 49828
debug1: Client protocol version 2.0; client software version PuTTY_Release_0.60
debug1: no match: PuTTY_Release_0.60
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_4.2
debug1: permanently_set_uid: 74/74
debug1: list_hostkey_types: ssh-rsa,ssh-dss
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: client->server aes256-ctr hmac-sha1 none
debug1: kex: server->client aes256-ctr hmac-sha1 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST_OLD received
debug1: SSH2_MSG_KEX_DH_GEX_GROUP sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_INIT
debug1: SSH2_MSG_KEX_DH_GEX_REPLY sent
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: KEX done

debug1: userauth-request for user winwin service ssh-connection method none
debug1: attempt 0 failures 0
debug1: PAM: initializing for "winwin"
debug1: PAM: setting PAM_RHOST to "win7client"
debug1: PAM: setting PAM_TTY to "ssh"
Failed none for winwin from 192.168.1.8 port 49828 ssh2
debug1: userauth-request for user winwin service ssh-connection method publickey
debug1: attempt 1 failures 1
debug1: test whether pkalg/pkblob are acceptable
debug1: temporarily_use_uid: 513/513 (e=0/0)
debug1: trying public key file /home/winwin/.ssh/authorized_keys
Authentication refused: bad ownership or modes for directory /home/winwin
debug1: restore_uid: 0/0
debug1: temporarily_use_uid: 513/513 (e=0/0)
debug1: trying public key file /home/winwin/.ssh/authorized_keys
Authentication refused: bad ownership or modes for directory /home/winwin
debug1: restore_uid: 0/0
Failed publickey for winwin from 192.168.1.8 port 49828 ssh2
Received disconnect from 192.168.1.8: 14: No supported authentication methods available
debug1: do_cleanup
debug1: PAM: cleanup
debug1: do_cleanup
debug1: PAM: cleanup

এখন, আমি দুটি bad ownership or modes for directory /home/winwinবার্তা লক্ষ্য করেছি তবে আমি ডিরেক্টরি / হোম / উইনউইনের মালিকানা বা মোডগুলি পরীক্ষা করেছি এবং তারা ঠিক আছে:

/home> ls -lad winwin
drwxrwxr-x  21 winwin winwin 4096 Jul 13 21:24 winwin

এবং:

/home/winwin> ls -lad .ssh
drwxr-xr-x  2 winwin winwin 4096 Jul 14 12:06 .ssh

এবং:

/home/winwin/.ssh> ls -lad *
-rw-r--r--  1 winwin winwin 210 Jul 14 12:06 authorized_keys
-rw-r--r--  1 winwin winwin 210 Jul 14 01:58 authorized_keys.pub
-rw-r--r--  1 winwin winwin 394 Jul 14 01:57 authorized_keys.pub.orig

কী ভুল হতে পারে?

দ্বিতীয় আপডেট: আমি chmod 600নীচের উত্তরে প্রস্তাবিত হিসাবে চেষ্টা করেছি :

/home/winwin> ls -lad .ssh
drw-------  2 winwin winwin 4096 Jul 14 13:13 .ssh

এবং:

/home/winwin/.ssh> ls -lad *
-rw-------  1 winwin winwin 210 Jul 14 12:06 authorized_keys

তবে এটি এখনও কাজ করে না। আমি এখনও Authentication refused: bad ownership or modes for directory /home/winwinত্রুটি পাচ্ছি কেন ?

উত্তর:


9

আপনার হোম ডিরেক্টরি থেকে গোষ্ঠীটির লিখনযোগ্য অনুমতি নেওয়ার চেষ্টা করুন:

chmod g-w ~/

আপনার .ssh ফোল্ডারটি কেবল আপনার দ্বারা পঠনযোগ্য / লিখিত / কার্যকর করার যোগ্য করুন :

chmod 700 ~/.ssh

আপনার অনুমোদিত কী ফাইলটি কেবল আপনার দ্বারা পাঠযোগ্য / লেখার যোগ্য করুন :

chmod 600 ~/.ssh/authorized_keys

এটি অনুমতি ত্রুটিগুলি অপসারণ করা উচিত।


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

ধন্যবাদ! chmod g-w ~/কয়েক ঘন্টা পাগলামি এবং চুল টানার পরে আমাকে বাঁচিয়েছিল যখন আমি একজন ব্যবহারকারীর পক্ষে পুটি দিয়ে আঘাত করতে পারি না, অন্য ব্যবহারকারীরা ঠিক কাজ করে ...
পাভেলস

হ্যাঁ ধন্যবাদ, আমি আমার অন্যান্য ব্যবহারকারীর সাথে আমার হোম ডিরেক্টরি তৈরি করেছি এবং আমি chmod gw missing /
ক্লারেন্স লিউ

5

সফল!

আমি যা করতে পরিবর্তন ছিল StrictModesথেকে কোন

প্রতি অধ্যায় 3.14 OpenSSH- র প্রায়শই জিজ্ঞাসিত প্রশ্নাবলী এবং http://blogs.nullvision.com/?p=114

কি দারুন.


হুম, এটি একটি সমাধানের চেয়ে অনেক বেশি কাজ। আমাকে আমার বাক্সে কিছু পরীক্ষা করতে দিন।
রব

আমার ls -lad .sshdrwx দেখানো হয়, তাই chmod 700 ~/.sshএবং ফাইল ভিতরে সব -rw, তাই হয় chmod 600 ~/.ssh/*-SHOULD- হবে।
রব

কিছু মনে করবেন না, দেখলাম এই ব্যবহারকারীর home ডিরেক্টরিতে গ্রুপ (একই সঠিক নাম ও gid থাকার!) দ্বারা লেখার যোগ্য হতে হবে নিচের
রব

এই ভাবে ব্যবহারকারীহীন!
প্রেম করুন

3

একই সমস্যা ছিল। চারপাশে হাঁপানোর সময় আমি লক্ষ্য করেছি যে আমার হোম ডিরেক্টরিগুলি এনক্রিপ্ট করা আছে এবং সন্দেহ হয়েছে যে এটিই সমস্যা। আমি অনুমোদিত কী ফাইলটি এনক্রিপ্ট করা হোম ডিরেক্টরি থেকে বাইরের একটি ডিরেক্টরিতে অনুলিপি করেছি, অনুমতিগুলি যথাযথভাবে পরিবর্তন করেছি (chmod 700 [dir], chmod 600 [dir] / অনুমোদিত_কিগুলি ইত্যাদি)।

তারপরে অনুমোদিত কী ফাইলের জন্য নতুন অবস্থানের জন্য sshd বলতে আপনার sshd_config সম্পাদনা করুন, sshd পুনরায় চালু করুন, এবং এটি it

আমার সমস্যাটি স্থির করেছে বলে মনে হচ্ছে।


2

দেখে মনে হচ্ছে হোম ডিরেক্টরিতে আপনার অনুমতি (বা সম্ভবত আপনার .ssh / ਅਧਿਕਾਰ্য_কিগুলি ফোল্ডার) ভুল। এগুলি সংশোধন করে লগইন সমস্যার সমাধান করা উচিত। আপনার পাশাপাশি chmod 600 /home/winwin/.ssh/*
প্রয়োজন হতে পারে চেষ্টা করুন chmod 700 /home/winwin/.ssh

এসএসএইচডি আপনার authorized_keysফাইলটি লোড করতে অস্বীকার করবে যদি এটি আপনার ব্যবহারকারীর (মালিক হিসাবে) ব্যতীত অন্য কারও কাছে লেখা যেতে পারে কারণ এটি সুরক্ষা ঝুঁকিপূর্ণ।


ধন্যবাদ +1 উপরের আমার আপডেটটি দেখুন, আমি এখনও সঠিক অনুমতি / মালিকানা কী হওয়া উচিত তা বুঝতে পারি না।
উইনউইন

আমি শুধু চেষ্টা করেছি chmod 600 /home/winwin/.ssh/*। এটি সাহায্য করেনি। : - /
উইনউইন

1
@ উইনউইন আপনি এটি .sshডিরেক্টরিতেও সেট করেছেন ? (আমি আমার উত্তর আপডেট করেছি)।
দারথ অ্যান্ড্রয়েড

হ্যা, আমি করেছিলাম. এখনও ভাগ্য নেই।
উইনউইন

2

আমি এর মধ্যে দিয়ে লড়াই করেছি এবং অবশেষে এমন একটি সমাধান পেয়েছি যা স্ট্রাইকডমডস নো এর মতো কোনও সম্ভাব্য সুরক্ষা লঙ্ঘনের কারণ নয়

আপনার সেটিংস নীচে রয়েছে তা নিশ্চিত করুন:

chmod 0755 / home / {userdir

chmod 0700 / home / {userdir} /.ssh

chmod 0600 / home / {userdir} /.ssh/authorised_keys

যেখানে {userdir question প্রশ্নাবলীর ডিরেক্টরি।

কীটি chmod 0755 যা নিশ্চিত করে যে কেবলমাত্র ব্যবহারকারীরা হোম ড্রাইভে লিখতে পারেন। আমি এটি আমার ব্যবহারকারীর কনফিগারেশন থেকে অনুলিপি করেছি যা কাজ করেছিল এবং, প্রেস্টো! অন্যান্য ব্যবহারকারীর নামও কাজ শুরু করেছে!

আশা করি এটি আমার মতো অন্যদেরও সহায়তা করে এবং কয়েক ঘন্টা সময় সাশ্রয় করে।


1

এই ত্রুটি বার্তাটি এসইএলডিक्स অ্যাক্সেস থেকে বাধা দেওয়ার কারণেও হতে পারে authorized_keys। এটা চেষ্টা কর:

restorecon -FRvv ~/.ssh

( এই উত্তর থেকে )


0
chown -R winwin.winwin /home/winwin/
chmod 700 /home/winwin/
find /home/winwin/ -type d -exec chmod 700 {} \;
find /home/winwin/ -type f -exec chmod 600 {} \;

3
সুপার ব্যবহারকারীকে স্বাগতম! এই কমান্ডগুলি কী করে যদি আপনি তা ব্যাখ্যা করতে পারতেন তবে এটি দুর্দান্ত।
স্ল্যাক করুন

0

আমার ক্ষেত্রে এটি সেই হোম ডিরেক্টরি ছিল যার প্রকৃত ব্যবহারকারীর সাথে এই হোম ডিরেক্টরিটি অন্তর্ভুক্ত ছিল তার চেয়ে অন্য মালিক (মূল) ছিল (অন্য ব্যবহারকারীকে মূলের সাথে হোম ডায়ার তৈরি করার সময় আমার বোকামি)।

Chown [user]:[group] /home/[user] 

এই সমস্যাটি সমাধান করেছে (এবং অবশ্যই অন্যান্য উত্তরের সাথে ভাগ করে নেওয়া ফাইল / ডির অনুমতিগুলি আটকে থাকবে)।

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