ssh ssh-copy-id সত্ত্বেও পাসওয়ার্ডের জন্য অনুরোধ জানায়


28

আমি রিমোট শেল ব্যবহারের পাশাপাশি এসএসএফএস মাউন্টগুলির জন্য কিছু সময়ের জন্য একটি রিমোট সার্ভারে সর্বজনীন কী প্রমাণীকরণ ব্যবহার করছি। আমার এসএসএফএস ডিরেক্টরিটি প্রচুর পরিমাণে চাপানোর পরে আমি লক্ষ্য করেছি যে এসএসএস আমাকে একটি পাসওয়ার্ডের জন্য অনুরোধ করতে শুরু করেছে। আমি স্থানীয় মেশিনের উল্লেখ থেকে দূরবর্তী .ssh / अधिकृत_keys মুছে ফেলার চেষ্টা করেছি এবং আমি স্থানীয় মেশিনটিকে দূরবর্তী মেশিনের উল্লেখ থেকে পরিষ্কার করেছি। আমি তখন আমার এসএস-কপি-আইডিটি পুনরাবৃত্তি করেছিলাম, এটি আমাকে একটি পাসওয়ার্ডের জন্য অনুরোধ জানায় এবং সাধারণত ফিরে আসে। তবে দেখুন এবং দেখুন, আমি যখন রিমোট সার্ভারে চলে যাই তখনও আমাকে একটি পাসওয়ার্ডের জন্য অনুরোধ করা হয়। সমস্যাটি কী হতে পারে সে সম্পর্কে আমি কিছুটা বিভ্রান্ত, কোন পরামর্শ?


1
serverfault.com/questions/208181/... আমি নিশ্চিত নই কি সাইট জুড়ে সদৃশ উপর StackExchange নীতি, কিন্তু এটা আমার বলে মনে হচ্ছে না যে ক্রস-পোস্টিং একটি প্রশ্ন সহায়ক হবে।
প্রথম

আপনি যদি পরীক্ষা করে থাকেন যে কেবলমাত্র আপনি লিখতে পারেন ~, ~/.sshএবং ~/.ssh/authorized_keysচালাতে ssh -vvv server.example.comএবং আউটপুটটি রিপোর্ট করতে পারেন (হোস্ট এবং ব্যবহারকারী নামগুলি যদি আপনি চান তবে বেনামে রাখতে পারেন)। আপনার যদি সার্ভারে রুট অ্যাক্সেস থাকে, আপনি যখন পাবলিক কী লগইন করার চেষ্টা করবেন তখন তৈরি লগ এন্ট্রিগুলি দেখুন।
গিলস 'অসন্তুষ্ট হওয়া বন্ধ করুন'

উত্তর:


32

এসএসডিডি $ হোম, OME হোম / .এসএসএইচ (উভয় ডিরেক্টরি) এবং OME হোম / .এসএসএইচ / অনুমোদিত_কিগুলিতে অনুমতি নিয়ে অদ্ভুত হয়ে যায়।

আমার একটি লিনাক্স বাক্সটি আমার $ HOM ডিরেক্টরিতে drwxrwxrwx অনুমতি নিয়ে শেষ হয়েছিল। একটি আর্চ লিনাক্স বাক্স আমার $ হোম ডিরেক্টরিতে থাকা অন্য গোষ্ঠীর জন্য 'ডাব্লু' অনুমতিটি সরিয়ে না দেওয়া পর্যন্ত সর্বজনীন কী ব্যবহার করে লগ ইন করবে না।

Group হোম এবং $ হোম / .এসএসএইচ / তৈরির চেষ্টা করুন এবং গ্রুপ এবং অন্যান্যদের জন্য আরও সীমাবদ্ধ অনুমতি রয়েছে। দেখুন যে এটি sshd এর স্টাফগুলি করতে দেয় না।


4
হা. ssh-copy-idঅনুমতি যত্ন গ্রহণ করা উচিত ছিল ~/.sshএবং ~/.ssh/authorized_keys, কিন্তু নিশ্চিত করুন যে আপনার হোম ডিরেক্টরীতে নিজেই গ্রুপ-লিখনযোগ্য নয় ভুলবেন না।
গিলস 'অসমাপ্ত হওয়া বন্ধ করুন'

7
এটা আমার জন্য ছিল। আমি একটি আরএসএ কী প্রেরণের জন্য ssh-copy-id ব্যবহার করেছি এবং আমি তখনও অনুরোধ জানাব। chmod g-w homedirরিমোট সার্ভারে চালনা কবজির মতো কাজ করে।
বেন ক্রিগার

9

নিম্নলিখিত অনুমতি প্রয়োজন:

  • .sshফোল্ডার:700 (drwx------)
  • সর্বজনীন কী: 644 (-rw-r--r--)
  • ব্যক্তিগত কী: 600 (-rw-------)

5

আমি সম্প্রতি এই সমস্যাটিও অভিজ্ঞতা পেয়েছি।

$HOMEডিরেক্টরিটির অনুমতিগুলি সংশোধন করে এটি সংশোধন করা হয়েছিল । যাইহোক, সহজভাবে চালানো chmod g-w ~/সমস্যার সমাধান করেনি। এ ছাড়াও chmod g-w ~/আমাকে চালনার othersমাধ্যমে $HOMEডিরেক্টরিতে অনুমতিগুলি পরিবর্তন করতে হবেchmod o-wx ~/

একসাথে:

chmod g-w ~/
chmod o-wx ~/

মনে রাখবেন যে আমি o-xপ্রয়োজনীয় কিনা তা নিশ্চিত নই , আমি এটি একটি সাবধানতা হিসাবে চালিয়েছি।



0

সমান্তরাল লগইনগুলিতেও কি সমস্যাটি দেখা দেয়, অর্থাত্ যদি আপনি ওপেন এসএস সেশন করার সময় sshfs মাউন্ট করার চেষ্টা করেন? যদি তা না হয় তবে আমি অনুমান করব যে আপনি নিজের হোম ডিরেক্টরিটি এনক্রিপ্ট করেছেন? এই ক্ষেত্রে $HOME/.ssh/authorized_keysশুধুমাত্র আপনার প্রথম লগইনের পরে (আপনার পাসওয়ার্ড ব্যবহার করে) রিমোট মেশিনে ব্যবহারযোগ্য হবে।

পরীক্ষা করে দেখুন https://help.ubuntu.com/community/SSH/OpenSSH/Keys#Troubleshooting একটি ব্যাখ্যা এবং প্রয়োজনীয় কার্যসংক্রান্ত জন্য।


0

আমি এটি একটি মন্তব্য হিসাবে পোস্ট করব, তবে এটি সম্ভবত খুব দীর্ঘ হবে। আমি কেবল এটি যুক্ত করতে চেয়েছিলাম আপনার ফোল্ডারের অভ্যন্তরীণ অবস্থান ssh-copy-idথেকে সর্বজনীন কী প্রেরণের চেষ্টা করে ।/.ssh$HOME

আপনি যদি sshকোনও পাবলিক কী (সুরক্ষা-সম্পর্কিত মন্তব্যগুলি সংরক্ষণ করুন) দিয়ে রুট করার ssh-copy-idচেষ্টা করছেন , যদি আপনার $HOMEভেরিয়েবলটি অন্য কোনও কিছুতে সেট করা থাকে তবে ভুল পাবলিক কী দিয়ে লগইন করার চেষ্টা করা যেতে পারে/root (যেমন আপনার সাধারণ ব্যবহারকারীর হোম ডিরেক্টরিতে ), এইভাবে রুট ব্যবহারকারীকে অনুরোধ জানানো হবে কারণ দূরবর্তী সিস্টেমে রুটের পাবলিক কী ইনস্টল করা নেই।

সঠিক পাবলিক কী নির্দিষ্ট করতে আপনি নীচের ওয়ান-লাইনার ব্যবহার করতে পারেন:

pub="$(cat /root/.ssh/id_rsa.pub)"; ssh user@remotehost "echo $pub >> .ssh/authorized_keys; chmod 700 .ssh; chmod 600 .ssh/authorized_keys"

আমি কয়েকবার বনের মধ্যে এই দৃশ্যের মুখোমুখি হয়েছি (আজ সকালে সহ) এবং অনুভব করেছি যে আমি আমার 2 সেন্টে রাখার চেষ্টা করব, যদি কেউ একই পরিস্থিতিতে নিজেকে খুঁজে পায় তবে।


0

উল্লিখিত অন্যান্য অবদানকারীদের মতো এটিও সম্ভবত অনুমতি সংক্রান্ত সমস্যা।

এটি নির্ধারণের সর্বোত্তম উপায় হ'ল রিমোট সার্ভারে এসএসএইচ ডেমন পুনরায় চালু করা ডিবাগ বিকল্পের সাথে - সাধারণত "-d" বিকল্পটি রয়েছে। ওপেনএসএসএইচ ডেমন বার্তাটি খুব স্পষ্ট। উদাহরণস্বরূপ, আপনি বার্তা দেখতে পাবেন যেমন:

Authentication refused: bad ownership or modes for directory /some/path

আমি সেই বার্তাটিকে "খুব সুস্পষ্ট" বলব না। এটি আপনাকে খুব অস্পষ্টভাবে জানিয়ে দেয় যে আপনি কী (সঠিক মালিকানা এবং অনুমতি) সন্ধান করতে হবে তবে কোন ডিরেক্টরি বা ফাইল চেক করতে হবে এবং সঠিক সেটিংসটি কী হওয়া উচিত তা আপনাকে জানায় না।
উহিরসিদুর

0

পুনরায় বুট করার পরে সার্বজনীন কী বাঁচতে না পারার কারণটি ছিল আমার সার্ভার হোম ডিরেক্টরিটি এনক্রিপ্ট করা হয়েছিল। (সার্ভার ইনস্টল করার সময় আপনি এটি করেন)


0

আর একটি সম্ভাব্য সমস্যা হ'ল সার্ভারটি আপনার কী অ্যালগরিদম সমর্থন করে না। আমার ক্ষেত্রে, আমি আমার sshdলগগুলিতে ( /var/log/auth.logআমার ক্ষেত্রে) নিম্নলিখিত বার্তাগুলি পেয়েছি :

userauth_pubkey: unsupported public key algorithm: ssh-ed25519 [preauth]

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


0

এই আচরণের জন্য গুগল করার সময় এই অনুসন্ধানগুলি প্রথম অনুসন্ধানের ফলাফলগুলির মধ্যে উপস্থিত হওয়ায় আমি আমার সমাধানটিও যুক্ত করব:

আমার ক্ষেত্রে এটি অনুমতিগুলির সাথে সম্পর্কিত কিছুই ছিল না। যে কোনও কারণে (আসলে কী কারণে আসলে আমি তাড়াতাড়ি ফিক্স পেয়েছি তা সন্ধানের জন্য নিজেকে বিরক্ত করিনি) ssh কমান্ড কার্যকর করার সময় প্রোগ্রামটি সঠিক পরিচয় ফাইলটি সন্ধান করেনি। একটি সমাধান হ'ল দূরবর্তী সার্ভারে একটি এসএসএইচ কীটি ম্যানুয়ালি যুক্ত করা যা এসএসএইচ প্রোগ্রামটি ব্যবহার করার চেষ্টা করেছিল। কমান্ডটি -v যোগ করে কমান্ডটি কার্যকর করার সময় আপনি এসএসএইচ প্রোগ্রাম কী পর্যবেক্ষণ করতে পারেন:

ssh -v username@your-host-ip-or-domain 

তারপরে আপনি এসএসএইচ প্রোগ্রামের জন্য কোনও ম্যাকের জন্য একটি পরিচয় ফাইল / প্রাইভেট কী সন্ধান করার চেষ্টা করে এমন কোনও পাবলিক কী আপনার স্থানীয় মেশিনে ধরুন:

cat ~/.ssh/id_rsa.pub

... এবং এটিতে রিমোটের অনুমোদিত_কিজি ফাইলটিতে যুক্ত করুন:

~/.ssh/authorized_keys

আরেকটি, আমার ক্ষেত্রে আরও ভাল সমাধানটি ছিল আমার স্থানীয় ssh কনফিগারেশনের ফাইলটিতে একটি কাস্টম হোস্ট যুক্ত করা। আমার ম্যাক এ এটি:

/Users/my-user-name/.ssh/config

এখানে আপনি উদাহরণস্বরূপ কিছু যুক্ত করতে পারেন:

Host mynewserver
        HostName some.IP.number.or.domain
        Port 20000 #if custom port is used and not the default 22
        User the_root
        PreferredAuthentications publickey
        IdentityFile ~/.ssh/id_rsa_for_my_new_server

তারপরে আপনাকে কেবল কার্যকর করতে হবে:

ssh mynewserver

... এবং ভয়েলি

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