কী-ভিত্তিক প্রমাণীকরণ সেট আপ করার পরে এসএসএইচ এখনও পাসওয়ার্ড চেয়েছে


10

আমি আমার এ মেশিন থেকে আমার বি মেশিনে রুট ব্যবহারকারীর জন্য সফলভাবে একটি কী ভিত্তিক লেখক তৈরি করেছি।

এখন, আমি বি মেশিনে একটি নতুন ব্যবহারকারী তৈরি করেছি, এ মেশিনের মতোই, আসুন তাকে কল করুন USER। আমি বি মেশিনে তার জন্য একটি হোম ডির /home/USERতৈরি করেছি এবং আমি তার জন্য মেশিন এ থেকে বি মেশিনে কী ভিত্তিক লেখক তৈরি করতে চাই।

সুতরাং, আমি একটি মেশিনে দৌড়েছি

  1. ssh-keygen -t rsa, সমস্ত পথ গ্রহণ করেছেন, তাই /home/USER/.ssh/id_rsaএবং কোনও বাক্যাংশ ছাড়াই
  2. ssh-copy-id -i /home/USER/.ssh/id_rsa.pub USER@BmachinesIP, পাসওয়ার্ড প্রবেশ করিয়ে ম্যাসেজ পেয়েছে

এখন মেশিনে ব্লগ ব্লে ব্লগে লগিন করার চেষ্টা করুন

সুতরাং সবকিছু ঠিক আছে বলে মনে হচ্ছে।

তবে আমি সংযোগ দেওয়ার চেষ্টা করার সময় আমাকে ssh USER@BmachinesIPএকটি পাসওয়ার্ড চেয়েছিল। আমি লগটি দেখার চেষ্টা করে দৌড়ে ssh -vvv USER@BmachinesIPএসেছি এবং এখানে আউটপুটটির একটি অংশ রয়েছে:

debug1: Authentications that can continue: publickey,password
debug3: start over, passed a different list publickey,password
debug3: preferred gssapi-keyex,gssapi-with-mic,publickey,keyboard-interactive,password
debug3: authmethod_lookup publickey
debug3: remaining preferred: keyboard-interactive,password
debug3: authmethod_is_enabled publickey
debug1: Next authentication method: publickey
debug1: Offering public key: /home/USER/.ssh/id_rsa
debug3: send_pubkey_test
debug2: we sent a publickey packet, wait for reply
debug1: Authentications that can continue: publickey,password
debug1: Trying private key: /home/USER/.ssh/id_dsa
debug3: no such identity: /home/USER/.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
USER@BmachinesIP's password:

সুতরাং, কেউ আমাকে বলতে পারে যে আমি কী ভুল করেছি বা আমার কী পরিবর্তন করা উচিত? সমস্যাটি অনুমতিগুলির মধ্যে রয়েছে, তারা এখানে রয়েছে:

একটি মেশিনে:

drwx------  2 USER USER    SIZE DATE TIME .ssh
-rw-------  1 USER USER 1675 2011-10-31 14:36 id_rsa
-rw-r--r--  1 USER USER 413 2011-10-31 14:36 id_rsa.pub

এবং বি মেশিনে:

drwx------  2 USER defaultGroup    SIZE DATE TIME .ssh
-rw-------    1 USER defaultGroup    SIZE DATE TIME authorized_keys

উত্তর:


13

আমি একটি সমাধান খুঁজে পেয়েছি। অনুমতিগুলিতে একটি সমস্যা ছিল।

/home/USER রিমোট মেশিনে সমস্ত অনুমতি দেওয়া হয়েছিল, তবে কী ভিত্তিক লেখার জন্য এটি 755 এ সেট করা আবশ্যক


2
কি দারুন. আশ্চর্যজনক যে অনুমতিগুলি সম্পর্কে শূন্য ডিবাগ আউটপুট রয়েছে যদিও তারা সঠিক পাবলিক কী কনফিগারেশনের কেন্দ্রীয় central
jchook

বাহ, আপনি ঠিক বলেছেন। এখন এটি কাজ করছে .... যদিও আমি আসলে এটির মূল অনুমতিটি রাখতে চাই (775)। কীভাবে পরিবর্তন করা যায় সে সম্পর্কে কোনও সূত্র?
পাবলো ওলমোস ডি আগুইলেরা সি

দেখে মনে হচ্ছে যে কোনও উপায় নেই, কেবলমাত্র workaround sshd_config এ স্ট্রিটমোড নং সেট করা হবে। : /।
পাবলো ওলমোস ডি আগুইলেরা সি

2
মূলত আপনার এই অনুমতিগুলি দরকার:, chmod o-w ~/; chmod 700 ~/.ssh; chmod 600 ~/.ssh/authorized_keysতবে এটি কার্যকর হয়। এখান থেকে ম্যাক্সিম আর উত্তর থেকে অনুলিপি: askubuntu.com/questions/54670/passwordless-ssh-not-working
এরিক

2
আমি এই সমস্ত অনুমতি পরিবর্তনগুলি করেছি এবং আমি যখন এসএসএস করি তখন এটি আমাকে একটি পাসওয়ার্ড জিজ্ঞাসা করে। আমি এটিও যাচাই করেছি যে প্রাইভেট কীটি উভয় মেশিনে (উবুন্টু) একই। বেশ বিস্মিত।
অমলগোভিনাস

2

আমার জন্য তাজা CentOS7 ইনস্টল একই সমস্যা।

1. বাড়ির দির অনুমতি এবং ~ / .ssh এবং ~ / .ssh / অনুমোদিত_মানের অনুমতিগুলি (@ এরিক অনুযায়ী) পরীক্ষা করুন

chmod o-w ~/; chmod 700 ~/.ssh; chmod 600 ~/.ssh/authorized_keys

2. / etc / ssh / sshd_config সেটিংস ও & sshd পুনঃসূচনা পরীক্ষা করুন (প্রতিটি সম্পাদনার পরে) দরকারী: sshd_config এ "লগ-লেভেল ভার্বোস" চেষ্টা করুন।

ঠিক আছে কিনা তা যাচাই করার পরেও আমি পাসওয়ার্ড প্রম্পট পেয়েছি।

Sv ক্লায়েন্ট -vvv লগ সহ চালান:

debug3: send_pubkey_test 
debug2: we sent a publickey packet, wait for reply

সার্ভার (/ var / লগ / সুরক্ষিত) লগগুলি:

Failed publickey for * from * port * ssh2: RSA *

ssh সার্ভার ক্লায়েন্টকে আরও ত্রুটির তথ্য প্রেরণ করে না কারণ এটি একটি সুরক্ষা ঝুঁকি be

যদি আমি বিভিন্ন বন্দরে 'sshd -p 5555 -d' তে sshd চালিতাম। কী কাজ করেছে। পাসওয়ার্ডহীন লগইন ঠিক আছে। ডব্লিউটিএফ?

তারপরে আমি সেলিনাক্স অক্ষম করেছি (SELINUX সেট করুন / / etc / সেলিনাক্স / কনফিগারেশনে অক্ষম) এবং পুনরায় বুট করুন। পাসওয়ার্ডহীন লগইন তারপর ঠিক আছে কাজ।

আমার বর্তমান কাজ sshd_config সেটিংস:

[root@hp-bl-05 ~]# grep -vE "^#|^$" /etc/ssh/sshd_config  
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
SyslogFacility AUTHPRIV
LogLevel VERBOSE
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile  .ssh/authorized_keys
HostbasedAuthentication yes
PasswordAuthentication yes
ChallengeResponseAuthentication no
GSSAPIAuthentication no
GSSAPICleanupCredentials no
UsePAM yes
X11Forwarding yes
UseDNS no
AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE
AcceptEnv XMODIFIERS
Subsystem   sftp    /usr/libexec/openssh/sftp-server

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


0

সমাধানটি SELinux অক্ষম করছে না বরং ব্যবহারকারী ডিরেক্টরিতে SELinux অনুমতিগুলি স্থির করছে। ব্যবহারকারী ডিরেক্টরি প্রসঙ্গে সেট করা আবশ্যক user_home_t

পরীক্ষা করতে,

$ sudo ls -Z /home/

যদি আপনার ব্যবহারকারীর ডিরেক্টরিটির জন্য প্রসঙ্গটি অন্য কোনও কিছু থেকে থাকে তবে user_home_tSELinux সেই ব্যবহারকারীর ডিরেক্টরিতে সরকারী কী এর মাধ্যমে এসএসএইচকে অনুমতি দেবে না।

ঠিক করতে,

$ sudo semanage fcontext -a -t user_home_t /home/azureuser
$ sudo restorecon -vvRF /home/azureuser

কী ভিত্তিক লগইন এখন কাজ করা উচিত।

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