এসএসএইচ সর্বজনীন কী সার্ভারে প্রেরণ করবে না


33

আমি কয়েক ঘন্টা ধরে এটির সাথে লড়াই করে যাচ্ছি যাতে কোনও সাহায্যের প্রশংসা হয় ...

আমার কাছে 2 এক্স সার্ভার রয়েছে যা আমি sshওএসএক্সের সার্বজনীন কীগুলির সাথে করতে পারি , সেখানে কোনও সমস্যা নেই তাই আমি নিশ্চিত যে সবকিছুই ভাল sshd_config

আমি rsyncদুটি সার্ভার সিঙ্ক করার জন্য ক্রোন জব কনফিগার করার চেষ্টা করছি এবং sshসার্বজনীন কী ব্যবহার করে সার্ভার এ তে সার্ভার বি (ব্যাকআপ) প্রয়োজন need

আমি আমার জীবনের জন্য কাজ করতে পারি না কেন এটি আমার সার্বজনীন কীগুলি খুঁজে পায় না - ~/.ssh/সেগুলিতে (অর্থাত্‍ /root/.ssh) রয়েছে এবং সমস্ত ফাইল অনুমতি এ এবং বিতে সঠিক are

এটি আউটপুট:

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: /root/.ssh/identity
debug3: no such identity: /root/.ssh/identity
debug1: Trying private key: /root/.ssh/id_rsa
debug3: no such identity: /root/.ssh/id_rsa
debug1: Trying private key: /root/.ssh/id_dsa
debug3: no such identity: /root/.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

এছাড়াও নোট করুন যে এটি ব্যক্তিগত কীগুলির সন্ধান করছে যা বিদ্যমান নেই ...

drwx------. 2 root root 4096 May 25 10:15 .
dr-xr-x---. 4 root root 4096 May 24 18:52 ..
-rw-------. 1 root root  403 May 25 01:37 authorized_keys
-rw-------. 1 root root    0 May 25 01:41 config
-rw-------. 1 root root 1675 May 25 02:35 id_rsa_tm1
-rw-------. 1 root root  405 May 25 02:35 id_rsa_tm1.pub
-rw-------. 1 root root  395 May 25 02:36 known_hosts

2
আমাদের আউটপুট দিন দয়া করে ls -la /root/.ssh/
mreithub

@ মরিথুব দ্রুত উত্তর দেওয়ার জন্য ধন্যবাদ - উপরে যুক্ত করা হয়েছে।
ড্যানি

3
_tm1আপনার কী ফাইলের নামগুলি (যেমন mv id_rsa_tm1 id_rsaএবং mv id_rsa_tm1.pub id_rsa.pub)
মরিথাব

@ মরিথুব যে কাজ করেছে! আপনাকে অনেক ধন্যবাদ, তবে আমি কেন ফাইলের নামের সাথে অন্য স্ট্রিং যুক্ত করতে পারি না তা বুঝতে পারি না। কোনও সমস্যা ছাড়াই সার্ভারের সাথে সংযোগ করার জন্য আমি আমার আইম্যাকটিতে এটি করি ... আমি কোনও সমস্যা ছাড়াই id_rsa.tm1.imac.pub ব্যবহার করতে পারি। যদি আমি একাধিক চাবি চাই?
ড্যানি

উত্তর:


22

আপনার ssh ম্যান পৃষ্ঠাটি দেখুন:

   -i identity_file
          Selects a file from which the identity (private key) for public
          key authentication is read.  The default is ~/.ssh/identity for
          protocol   version   1,   and  ~/.ssh/id_dsa,  ~/.ssh/id_ecdsa,
          ~/.ssh/id_ed25519 and ~/.ssh/id_rsa  for  protocol  version  2.
          Identity files may also be specified on a per-host basis in the
          configuration file.  It is possible to have multiple -i options
          (and  multiple  identities  specified  in configuration files).

অথবা ssh_config ম্যান পৃষ্ঠা:

   IdentityFile
          Specifies a file from which the user's DSA, ECDSA,  ED25519  or
          RSA   authentication   identity   is   read.   The  default  is
          ~/.ssh/identity for  protocol  version  1,  and  ~/.ssh/id_dsa,
          ~/.ssh/id_ecdsa, ~/.ssh/id_ed25519 and ~/.ssh/id_rsa for proto‐
          col version 2.  Additionally, any identities represented by the
          authentication  agent  will  be  used for authentication unless
          IdentitiesOnly is set.

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

বিভিন্ন নামের একটি ফাইলে কী ব্যবহার করতে আপনার কাছে তিনটি বিকল্প রয়েছে:

  • উপরের -iবিকল্পটি ব্যবহার করে স্পষ্টভাবে ফাইলটি নির্দিষ্ট করুন ।
  • উপরের IdentityFileবিকল্পটি ব্যবহার করে আপনার ক্লায়েন্ট কনফিগারেশনে ফাইলটি কনফিগার করুন ।
  • ব্যবহার করে আপনার এজেন্টে কী যুক্ত করুন ssh-add

ইন্টারেক্টিভ সেশনের জন্য এজেন্ট হ'ল সবচেয়ে নমনীয়। আপনার ক্রোন কাজের জন্য -iবিকল্পটি সম্ভবত সবচেয়ে সহজ one


26

গন্তব্য হোস্টে একটি ত্রুটিযুক্ত অনুমোদিত_কাইজ ফাইলের আরেকটি কারণ হ'ল "আমরা একটি প্যাকেট প্রেরণ করি নি" বার্তা আউট করে এবং পাবকি লেখার পরিবর্তে একটি পাসওয়ার্ড চেয়েছিল: -

debug1: Next authentication method: publickey
debug1: Offering RSA public key: ~/.ssh/id_rsa
debug3: send_pubkey_test
debug2: we sent a publickey packet, wait for reply
debug1: Authentications that can continue: publickey,password
debug2: we did not send a packet, disable method

এই বিশেষ ক্ষেত্রে সমস্যাটি হ'ল পাবলিক কী ডেটা, যা .ssh/authorized_keysগন্তব্য হোস্টে আটকানো হয়েছিল , তার প্রথম অক্ষরটি অনুপস্থিত ছিল: -

sh-rsa AAAA...

সমাধানটি ছিল কেবল অনুপস্থিত "গুলি" যুক্ত করা।

ssh-rsa AAAA...

এবং তাই:-

debug1: Next authentication method: publickey
debug1: Offering RSA public key: ~/.ssh/id_rsa
debug3: send_pubkey_test
debug2: we sent a publickey packet, wait for reply
debug1: Server accepts key: pkalg ssh-rsa blen 279
...
debug1: Authentication succeeded (publickey).

2
আপনাকে ধন্যবাদ, প্রতিবারই আমি এই ত্রুটিটি পেয়েছি কারণ দূরবর্তী হোস্টে (সার্ভার) আমার অনুমোদিত_কিজি ফাইলটি ত্রুটিযুক্ত। আমি আশা করি ত্রুটিটি শোনায় না যেমন ক্লায়েন্টের সাথে কোনও সমস্যা ছিল।
টামালে

3
প্রথমে 'আমি' টিপুন না করে ভিমে আটকানো!
জর্দান ডেভিডসন

আমার কাছে এটি ত্রুটিযুক্ত বলে মনে হয়নি তবে আমি ফাইলটি মুছে ফেলেছি এবং উত্স মেশিন থেকে আবার এটি পুনরায় তৈরি করতে আমি এসএসএস-কপি-আইডি করেছি। সমস্যা সমাধান.
আলভারেজ

14

প্রশ্নে ত্রুটি বার্তাগুলির এই সঠিক স্ট্রিংটি স্থানীয় দিক থেকে একটি মিস- ম্যাচের বেসরকারী / পাবলিক কী জুটির ক্ষেত্রেও ঘটতে পারে । না এটির কোনও অর্থ হয় না তবে আমি কী চালাচ্ছি তা বের করার চেষ্টা করে অনেকক্ষণ আমার চুল ছিঁড়ে ফেলেছি।

  • রিমোট সিস্টেম এ .ssh/mykey.pubকপি করেছে .ssh/authorized_keys
  • স্থানীয় সিস্টেম বিতে .ssh/mykeyসিস্টেম এ এর ​​পাবলিক কীটি মেলানোর জন্য সঠিক ব্যক্তিগত কী রয়েছে, তবে এটিতে একটিও রয়েছে.ssh/mykey.pub ফাইল রয়েছে যা একটি মিস-ম্যাচ, সম্ভবত প্রতিস্থাপিত কীটির পূর্ববর্তী সংস্করণ।

বি থেকে এ ( ssh -i mykey A) পর্যন্ত এসএসএইচ প্রশ্নের বার্তাগুলি সহ ব্যর্থ হবে, উল্লেখযোগ্যভাবে যদি আপনি -vvএসএসএস ক্লায়েন্ট থেকে চালু করেন তবে আপনি দেখতে পাবেন:

ব্যক্তিগত কী চেষ্টা করা হচ্ছে:। এসএসএইচ / মাইকি
আমরা একটি প্যাকেট প্রেরণ করি নি, পদ্ধতি অক্ষম করে

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


কি দারুন! এই আমার জন্য বেশ কিছুটা সময় মেরেছিল! কিছু চুল হারিয়েছেন! সুতরাং আমার ক্ষেত্রে এটিও ছিল, কেবলমাত্র আমার পब কীটি ক্লায়েন্টের সাইড অনুমোদিত_কিগুলি ফাইলে ছিল, কেবল এটির শেষে @ হোস্ট এন্ট্রিটির একটি নাম অন্তর্ভুক্ত ছিল, যেখানে আমার এসএসডি হোস্টটি নেই। আমি বুঝতে পারি নি যে প্রতিটি প্রান্তে আপনার অনুমোদিত_কিজের সাথে মিল থাকা দরকার, বাস্তবে, আমি মনে করি না যে আমি এর আগে কখনও তাদের সাথে মেলে। আমার ক্লায়েন্টটি সেন্টোস 7-এ উবুন্টু 12.04 এর সাথে সংযুক্ত হয়ে তখনই এই সমস্যা হয়েছিল। ম্যাকোস, বা অন্যান্য উবুন্টু সিস্টেমগুলি থেকে সুনির্দিষ্টভাবে কাজ করেছে।
গ্রেগથેগেক

তাহলে আপনি এই সমস্যাটি কীভাবে সমাধান করবেন? আপনি আমার টিটিকে টি-তে বর্ণনা করেছেন My আমার সমস্যাটি আরও বাড়িয়ে তুলেছে কারণ আমি বেশ কয়েকটি সিস্টেমে ফ্র্যাগিং করছি। প্রকৃতপক্ষে উল্লেখ করা ফাইলটি আমার পক্ষে কাজ করছে না
মাদ্রিবাদ

@ মাদিবাদ আপনি স্থানীয়ভাবে পাবলিক / প্রাইভেট কী মেলে (বা কোনও পাবলিক কী নেই) সমস্যাটি সমাধান করেছেন।
কালেব

@ কালেব এটির চেয়ে বেশি সহজ শোনায় যতক্ষণ না (এবং আমি মনে করি পয়সা বাদ পড়েছে) এর অর্থ হল যে আমি এসএসএইচ ক্লায়েন্ট হিসাবে ব্যবহার করতে চাইছি এমন প্রতিটি সিস্টেমে আমার সরকারী এবং ব্যক্তিগত উভয় কী অনুলিপি করা উচিত? আমি একটি আইডেন্টিটি ফাইল তৈরি করার চেষ্টা করেছি, তবে আমি স্পষ্টতই এটি ভুল ব্যবহার করছি
মাদ্রিবাদ

ক্লায়েন্টে এতিম id_rsa.pub ফাইলটি সরানো আমার জন্য এটি সমাধান করেছে। আমি কেবল আবার এই সমস্যাটিতে দৌড়ে এসেছি নতুন সেন্টোস 7 ক্লায়েন্টকে উবুন্টু 12.04 সার্ভারের সাথে সংযুক্ত করে। অনুমোদিত_কাইজের নাম @ হোস্ট ইস্যু এটি ঠিক করছিল না। আমি ডিরেক্টরি, পারমস, ঠিক একই আইডি_আরসা কী ফাইলটি মিলেছি, তবে সেখানে একটি অতিরিক্ত id_rsa.pub (ক্লায়েন্টের পাশে) ছিল। সরানো হয়েছে, এখন এটি কাজ করে। আমি ডিরেক্টরিগুলি দ্রুত তৈরি করতে ssh-keygen চালিয়েছি, তারপরে পরিচিত ভাল সিস্টেম থেকে আরএসএনসি করেছি। তবে এটি একটি অতিরিক্ত পাব ফাইলের সাথে কোনও প্রাইভেট কী মেলে না (এটি সোর্স আরএসএনসি তে ছিল না)। আমি যাচাই করার জন্য তুলনাহীন পাব ফাইলটি পুনরায় যুক্ত করেছি। ম্যাচ করা বা অপসারণ নিশ্চিত করুন।
গ্রেগ থেগেক

5

Ssh ডিফল্ট ফাইলের নামগুলি সন্ধান করছে id_rsa এবং id_rsa.pub

আপনি যদি অন্য ফাইলের নাম ব্যবহার করতে চান তবে আপনাকে সেগুলি ssh_config( IdentityFileসেটিং ব্যবহার করে ) বা ssh কমান্ড লাইন প্যারামিটারের মাধ্যমে নির্দিষ্ট করতে হবে -i


4

আমার রেডহ্যাট একই সমস্যা ছিল; লগগুলি পরীক্ষা করে দেখেছি যে হোম ডিরেক্টরিতে ব্যবহারকারীর অধিকারগুলি ভুল ছিল।

sshd[2507]: Authentication refused: bad ownership or modes for directory /home/user

বাড়ির দির অধিকার ঠিক করা এটি সমাধান করেছে।


4
ইউ + এল স্ট্যাক এক্সচেঞ্জ সাইটে আপনাকে স্বাগতম। সঠিক অনুমতি কেমন হওয়া উচিত তার একটি উদাহরণ দিয়ে আপনি নিজের উত্তরটি অন্যকে আরও সহায়ক করে তুলতে পারেন।
ইরথিল

~/.sshদির বাদে আমার খুব অনুরূপ ইস্যু ছিল । কমপক্ষে ফেডোরা ২৮-তে যখন ~/.sshঅনুমতিগুলি 0775 ছিল, আমি পাবলিক / প্রাইভেট কীগুলির সাথে সংযোগ করতে পারিনি। তাই আমি অনুমতিগুলি 0755 এ পরিবর্তন করেছি এবং
মনোমুগ্ধকর

3

ডেবিয়ান / উবুন্টুতে ডিবাগ করার একটি সহজ উপায় হ'ল পাসওয়ার্ডের সাথে সংযুক্ত হয়ে লগটি লেজ করুন

লেজ -f /var/log/auth.log

অন্য টার্মিনাল থেকে সংযোগ দেওয়ার চেষ্টা করুন এবং আপনি ত্রুটিটি দেখতে পাবেন ...

আমার ক্ষেত্রে / রুট ডিরেক্টরিটি 770 ছিল এবং 700 নয় যা পূর্বনির্ধারিত ত্রুটিটি ছিল "প্রমাণীকরণ প্রত্যাখ্যান করা হয়েছে: ডিরেক্টরি / রুটের জন্য খারাপ মালিকানা বা মোড"

এটি ঠিক করুন এবং আপনার কাজ শেষ হয়েছে।


আপনাকে অনেক ধন্যবাদ, মানুষ! তুমি আমার দিন বাঁচিয়েছ!
অ্যান্টনি

এটি এটি পরিষ্কার করতে সহায়তা করেছিল। খনি বলছিল যে 123.123.123.123 থেকে ব্যবহারকারী সুচান্দসুচকে অনুমতি দেওয়া হয়নি কারণ মঞ্জুরিপ্রাপ্তদের তালিকাভুক্ত নয় । তোমাকে অনেক ধন্যবাদ!
এক্সেল


0

দৌড়ানোর পরে

ssh-copy-id user@remote-host

সাধারণত এটি কাজ করা উচিত। তবে যদি এটি ব্যর্থ হয় তবে এটি ব্যবহার করে দেখুন: ভবিষ্যতে যে ব্যবহারকারী হিসাবে আপনি লগইন করতে চান তা দূরবর্তী হোস্টে লগইন করুন এবং চালনা করুন:

ssh-keygen

এটা আমাকে সাহায্য করেছে।


0

আমার ক্ষেত্রে যা ঘটেছে তা হ'ল আমার লোকাল মেশিনটি (2 কী id_rsa.pub এবং id_rsa2.pub) থেকে অ্যাক্সেস করার জন্য আমার কাছে 2 ভিএম আছে। আমি বুঝতে পারি যে আমার এসএসএস সংযোগটি কোনও ssh user@xx.xx.xx.xx.xx সংযোগের জন্য ডিফল্টরূপে id_rsa.pub ব্যবহার করছে। আমি একটি কনফিগার ফাইল যুক্ত করে আমার সমস্যার সমাধান করেছি এবং নীচের মতো প্রতিটি হোস্টের জন্য ব্যবহৃত পরিচয়টি উল্লেখ করেছি:

vi ~/.ssh/config

Add both hostnames and their identity file as follows:

Host server1.nixcraft.com
  IdentityFile ~/Users/.ssh/id_rsa1
Host server2.nixcraft.com
  IdentityFile /backup/home/aymen/.ssh/id_rsa2

-2

ক্লায়েন্ট:

vim /etc/ssh/ssh_config

#add your key 
IdentityFile ~/.ssh/yourkey

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