ssh-copy-id কাজ করে না


19

আমি সেন্টোস 5.4 এ পাসওয়ার্ডহীন এসএসএইচ লগইন সেট করার চেষ্টা করছি:

  1. আমি ক্লায়েন্টে আরএসএ পাবলিক কী তৈরি করেছি।
  2. ক্লায়েন্ট থেকে সার্ভারে ssh-copy-id।
  3. যাচাইকৃত ~ / .ssh / अधिकृत_keys এ ক্লায়েন্ট কী রয়েছে।

ক্লায়েন্টটি এখনও পাসওয়ার্ডের জন্য অনুরোধ জানায়। আমি কি থেকে বাতিল হলাম?

ধন্যবাদ।

সম্পাদনা: ssh_config এবং পরামর্শ হিসাবে অনুমতি হিসাবে পরীক্ষিত। এটি ক্লায়েন্টের ডিবাগ তথ্য:

debug2: key: /home/saguna/.ssh/identity ((nil))
debug2: key: /home/saguna/.ssh/id_rsa (0x2b31921be9a0)
debug2: key: /home/saguna/.ssh/id_dsa ((nil))
debug1: Authentications that can continue: publickey,gssapi-with-mic,password
debug3: start over, passed a different list publickey,gssapi-with-mic,password
debug3: preferred gssapi-with-mic,publickey,keyboard-interactive,password
debug3: authmethod_lookup gssapi-with-mic
debug3: remaining preferred: publickey,keyboard-interactive,password
debug3: authmethod_is_enabled gssapi-with-mic
debug1: Next authentication method: gssapi-with-mic
debug3: Trying to reverse map address 192.168.1.75.
debug1: Unspecified GSS failure.  Minor code may provide more information
Unknown code krb5 195

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

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

debug2: we did not send a packet, disable method
debug3: authmethod_lookup publickey
debug3: remaining preferred: keyboard-interactive,password
debug3: authmethod_is_enabled publickey
debug1: Next authentication method: publickey
debug1: Trying private key: /home/saguna/.ssh/identity
debug3: no such identity: /home/saguna/.ssh/identity
debug1: Offering public key: /home/saguna/.ssh/id_rsa
debug3: send_pubkey_test
debug2: we sent a publickey packet, wait for reply
debug1: Authentications that can continue: publickey,gssapi-with-mic,password
debug1: Trying private key: /home/saguna/.ssh/id_dsa
debug3: no such identity: /home/saguna/.ssh/id_dsa
debug2: we did not send a packet, disable method
debug3: authmethod_lookup password
debug3: remaining preferred: ,password
debug3: authmethod_is_enabled password
debug1: Next authentication method: password
saguna@192.168.1.75's password: 

আমি এটিও পেয়েছি :(
ম্যাট জেন্ডার

উত্তর:


19

এটি 9-10 বার হয়েছে কারণ ~ / .ssh / অনুমোদিত_কিগুলি সঠিক মোডে নেই।

chmod 600 ~/.ssh/authorized_keys

2
এফওয়াইআই, আমি github.com/centic9/generate-and-send-ssh-key এ একটি ছোট স্ক্রিপ্ট তৈরি করেছি যা একযোগে প্রয়োজনীয় পদক্ষেপগুলি চালায় এবং অতিরিক্তভাবে সমস্ত ফাইল / ডিরেক্টরি অনুমতিগুলি নিশ্চিত করে যা সর্বদা আমার মাথা ব্যাথার কারণ হয়ে দাঁড়িয়েছে ...
কেন্দ্রিক

5
যদি এটি কারও পক্ষে কাজ না করে তবে আপনার @ গিলসের উত্তরটিও দেখতে হবে। বিশেষত, হোম এবং~/.ssh ডিরেক্টরিগুলি ব্যবহারকারীর ব্যতীত অন্য কারও দ্বারা লেখার যোগ্য নয়।
ostrokach

আমি জানি এটি পুরানো, তবে @ মিলিয়নকে মিলিয়ন ধন্যবাদ। আমি নিশ্চিত যে আমার অনুমতিগুলি সঠিক ছিল তবে never হোম এবং .এসএসএইচ / ডিরেক্টরিগুলি পরীক্ষা করতে কখনই বিরক্ত করে না।
jdferreira

আমার জন্য কাজ করেছেন। ধন্যবাদ!
ইভান কোভাতুন

12

কোনও কী দিয়ে প্রমাণীকরণের অনুমতি দেওয়ার জন্য / etc / ssh / sshd_config এ চেক করুন। আপনার এটিতে এর মতো কিছু থাকা উচিত এবং নিশ্চিত করুন যে লাইনগুলিতে মন্তব্য করা হয়নি:

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile  .ssh/authorized_keys

PS: আপনি ফাইলটি পরিবর্তন করার পরে sshd পুনরায় আরম্ভ করতে ভুলবেন না (/etc/init.d/sshd পুনঃসূচনা)


প্যাটকোস সিএসবার উত্তর ছাড়াও, আপনার স্থানীয় এবং দূরবর্তী। / .Ssh ফোল্ডারের অনুমতি পরীক্ষা করুন।

আমার ক্ষেত্রে, AuthorizedKeysFileমন্তব্য করা হয়েছিল এবং আমাকে একটি নিখুঁত পথও ব্যবহার করতে হয়েছিল authorized_keys
অ্যান্ড্রু

আমি পেয়েছি 'আপনার প্রমাণীকরণ এজেন্টের সাথে কোনও সংযোগ খুলতে পারিনি' ' এসএসএড-এর চেষ্টা করার সময়
মান্টিকোর

এটি নির্বাচিত উত্তর হওয়া উচিত
ফ্রান্সিসকো টপিয়া

আপনি মন্তব্য বুঝতে পারে না। মন্তব্য করা রেখাগুলি আপনাকে ডিফল্ট মানগুলি দেখায়। আপনি যদি ডিফল্ট মান চান তবে এগুলি আপনার কোনও অসুবিধে করার দরকার নেই। আপনি যদি কেবলমাত্র ডিফল্ট মানকে ওভাররাইড করতে চান তবে আপনাকে সম্পত্তিটি অসম্পূর্ণ করতে হবে।
ক্লিয়ারলাইট

5

আমি দেখতে পেয়েছি যে আমার সিস্টেমে সমস্যাটি ছিল ব্যবহারকারী ডিরেক্টরি (/ home / ব্যবহারকারীর নাম) ভুল অনুমতি সেট দিয়ে সজ্জিত। এটি ছিল drwxr-x-w-এবং এটি হওয়া প্রয়োজন drwxr-xr-x(কেবল মালিকের জন্য লেখার অনুমতি সহ)। সমাধানটি ছিল chmod ব্যবহার করার জন্য:

sudo chmod 0755 /home/username

1
এ্যা! আমার জন্য কাজ করেছেন। ssh আমাকে একটি পাসওয়ার্ড প্রম্পট দিচ্ছিল কারণ আমি দৃmissions়তাগুলি বট করেছি।
ক্লিয়ারলাইট

4

আমি এখানে বিশেষজ্ঞ নই তবে এ জাতীয় সমস্যাটিও এসেছি, অন্য সমস্ত পরামর্শ ছাড়াও এখানে আমার দুটি সেন্ট রয়েছে

কখনও কখনও ssh-copy-idরিমোট সার্ভারে ভুল কীটি অনুলিপি করে (যদি আপনার কাছে বেশ কয়েকটি কী থাকে এবং / অথবা কী ফাইলগুলির জন্য অ-ডিফল্ট নাম ব্যবহার করে থাকেন) বা আপনার প্রমাণীকরণ এজেন্টকে ভুল কনফিগার করা হয়েছে।

ম্যান পেজগুলির একটি উদ্ধৃতি এখানে :

যদি -i বিকল্পটি দেওয়া হয় তবে আপনার ssh- এজেন্টের কোনও কী আছে কিনা তা বিবেচনা না করে পরিচয় ফাইলটি (। / .Ssh / id_rsa.pub- এ ডিফল্ট) ব্যবহৃত হয়। অন্যথায়, যদি এটি: ssh-add -L কোনও আউটপুট সরবরাহ করে তবে এটি পরিচয় ফাইলের পছন্দকে ব্যবহার করে।

সুতরাং মূলত আপনি এটি পরীক্ষা করতে চান:

  • আপনার সিস্টেম প্রমাণীকরণ এজেন্ট (সাধারণত ssh-এজেন্ট) আপনি যে কীগুলি ব্যবহার করতে চান তা দেখায় ( ssh-add -Lআউটপুট পরীক্ষা করুন )
  • ssh-copy-idকপি দূরবর্তী মেশিনের সাথে একই কী (ঠিক পাসওয়ার্ড ব্যবহার করে দূরবর্তী সার্ভারে লগ ইন করুন এবং বিষয়বস্তু পরীক্ষা ~/.ssh/authorized_keys)
    • আপনি যদি রিমোট সার্ভারে পছন্দসই কীটি না দেখেন তবে আপনি ssh-copy-idকোন কীটি অনুলিপি করবেন তা স্পষ্ট করে বলতে পারেন :ssh-copy-id -i ~/.ssh/some_public_key

আশা করি এইটি কাজ করবে.


1
আপনি এটি পেরেক! আমার ssh-copy-id সমস্যাটি খনন করা হ'ল: DEFAULT_PUB_ID_FILE=$(ls -t ${HOME}/.ssh/id*.pub 2>/dev/null | grep -v -- '-cert.pub$' | head -n 1)যা বর্ণানুক্রমিক প্রথম কীতে ডিফল্ট হবে - আমার ক্ষেত্রে আমার একটি ছিল id_boot2docker.pub(যা সম্ভবত বুট 2 ডকার এসএসএস স্টাফের জন্য ডিফল্ট নাম)। দেখে মনে হচ্ছে চারপাশে বিভিন্ন এসএস-কপি-আইডি বাস্তবায়ন রয়েছে; আমার কাছ থেকে এসেছিল brew install ssh-copy-id, যা ঘুরে ওপেনশ-পোর্টেবল থেকে নেওয়া হয়। আমার ম্যান পৃষ্ঠাতে এই আচরণের স্পষ্টভাবে উল্লেখ করা হয়েছে ...
খ্রিস্টান উলব্রিচ

3

সর্বাধিক সাধারণ সমস্যাটি হ'ল সার্ভারের পাশের অবৈধ অনুমতি। আপনার বাড়ির ডিরেক্টরিগুলির কোনওটিই পরীক্ষা করে দেখুন না ~/.sshএবং ~/.ssh/authorized_keysআপনি ছাড়া অন্য কারও দ্বারা লিখনযোগ্য (বিশেষত তারা অবশ্যই গ্রুপ-লিখনযোগ্য হবে না)।

যদি সমস্যা না হয় তবে চালাবেন ssh -vvv serverএবং কথোপকথনের ক্লায়েন্টের দৃষ্টিভঙ্গিটি দেখুন। বিশেষত, ক্লায়েন্টটি সার্ভারের সাহায্যে চাবিটি চেষ্টা করছে কিনা তা পরীক্ষা করুন।


ধন্যবাদ!!! আমি কেন বোঝ না, কিন্তু আপনার হোম ডিরেক্টরীতে , ~/.sshএবং ~/.ssh/authorized_keysযে কেউ কিন্তু আপনার দ্বারা লেখার যোগ্য হতে পারে না।
ostrokach

2

উপরের সমস্তগুলি ছাড়াও, কেউ সর্বদা sshd লগ ফাইলটি পরীক্ষা করতে পারে:

/var/log/auth.log

1

আমি অন্যান্য সংশোধনী চেষ্টা করে দেখতে পেলাম যে অন্যের লিখনযোগ্য না হওয়ার জন্য আমাকে হোম ডিরেক্টরিটি পরিবর্তন করতে হয়েছিল। হোম ডিরেক্টরি ছিল 7 77. I আমি এটিকে to৫৫ এ পরিবর্তন করেছি এবং এটি কাজ করেছে।


1
@ ডুলকানাকে স্বাগতম, তিনি একটি পাসওয়ার্ডলেস এসএস লগইন সেট করার চেষ্টা করেছেন, কীভাবে 755 এর পার্মিশন পরিবর্তন করা সমস্যার সমাধানে সহায়তা করতে পারে?
ফ্রান্সিসকো তাপিয়া

@ ফ্রেঞ্চিসকোটিপিয়ার কারণ এটি যে sshd নিশ্চিত করে যে অন্যান্য ব্যবহারকারীরা দূষিতভাবে অনুমোদিত_কিগুলি ফাইল তৈরি করতে পারত না, যেখানে ssh কী দ্বারা গ্রুপ বা অন্যরা ফাইল বা তাদের যে কোনও পিতামাতাকে লিখতে পারে তা লগইন করতে অস্বীকার করেছিল। অন্যান্য উত্তরগুলিও এটি উল্লেখ করেছে।
এঞ্জেল

0

আমার ক্ষেত্রে / etc / ssh / sshd_config এ নিম্নলিখিত পরম রয়েছে:

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile  .ssh/authorized_keys2

তবে এসএসএস-কপি-আইডি অনুমোদিত_কিগুলি নামের একটি ফাইল তৈরি করেছে, সুতরাং আমাকে নতুন নামটিতে প্রবেশটি পরিবর্তন করতে হবে। অবহেলিত অনুমোদিত_কিজ 2 সম্পর্কে আরও তথ্য


0

নতুন সেন্টোস 7 এর ওমর দাগান উত্তরের পরিপূরক হিসাবে, ব্যবহার করুন:

journalctl -f -u sshd

সার্ভারে sshd লগগুলি দেখার জন্য।


-1

সমস্যাটি হ'ল আমার কাছে আরএসএআউথেন্টিকেশনটি / etc / ssh / ssh_config এ অক্ষম করা হয়েছিল

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