পাসওয়ার্ড ছাড়াই কীভাবে লোকালহোস্টে এসএসএইচ করবেন?


17

সম্পাদনা: ঠিক কী করা হয়েছিল তা রেখে দেওয়া।

আমার localhostপাসওয়ার্ড ছাড়াই এসএসএইচ করা দরকার , এটি করার সাধারণ উপায় (পাবলিক কী সহ) কাজ করে না।

user@PC:~$ rm -rf .ssh/*
user@PC:~$ ssh-keygen -t rsa > /dev/null 
Enter file in which to save the key (/home/user/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
user@PC:~$ ls .ssh/
id_rsa  id_rsa.pub
user@PC:~$ ssh-copy-id -i localhost 
The authenticity of host 'localhost (::1)' can't be established.
RSA key fingerprint is f7:87:b5:4e:31:a1:72:11:8e:5f:d2:61:bd:b3:40:1a.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'localhost' (RSA) to the list of known hosts.
user@localhost's password: 
Now try logging into the machine, with "ssh 'localhost'", and check in:

  .ssh/authorized_keys

to make sure we haven't added extra keys that you weren't expecting.

user@PC:~$ ssh-agent $SHELL
user@PC:~$ ssh-add -L
The agent has no identities.
user@PC:~$ ssh-add 
Identity added: /home/user/.ssh/id_rsa (/home/user/.ssh/id_rsa)
user@PC:~$ ssh-add -L
ssh-rsa ...MY KEY HERE

user@PC:~$ ssh-copy-id -i localhost 
user@localhost's password: 
Now try logging into the machine, with "ssh 'localhost'", and check in:

  .ssh/authorized_keys

to make sure we haven't added extra keys that you weren't expecting.

user@PC:~$ ssh localhost echo 'testing'
user@localhost's password: 

user@PC:~$ 

আপনি শেষ কমান্ডে দেখতে পাচ্ছেন এটি এখনও পাসওয়ার্ড জিজ্ঞাসা করছে !!! আমি কীভাবে এটি ঠিক করতে পারি ?? উবুন্টু -10.04, ওপেনএসএসএইচ_5.3 পি 1

EDIT2:

Sshd সম্পর্কে কিছু তথ্য যুক্ত করা হচ্ছে

user@PC:~$ cat /etc/ssh/sshd_config | grep Authentication
# Authentication:
RSAAuthentication yes
PubkeyAuthentication yes
RhostsRSAAuthentication no
HostbasedAuthentication no
# Uncomment if you don't trust ~/.ssh/known_hosts for RhostsRSAAuthentication
ChallengeResponseAuthentication no
# PasswordAuthentication yes
#KerberosAuthentication no
#GSSAPIAuthentication no
# be allowed through the ChallengeResponseAuthentication and
# PasswordAuthentication.  Depending on your PAM configuration,
# PAM authentication via ChallengeResponseAuthentication may bypass
# PAM authentication, then enable this but set PasswordAuthentication
# and ChallengeResponseAuthentication to 'no'.

এডিআইটি 3: sh ssh -vv লোকালহোস্ট থেকে প্রাপ্ত ফলাফল ing

$ssh -vv localhost
...
debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: publickey
debug1: Trying private key: /home/user/.ssh/identity
debug1: Offering public key: /home/user/.ssh/id_rsa
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
debug2: we did not send a packet, disable method
debug1: Next authentication method: password
user@localhost's password: 

EDIT4:

ফাইলগুলি একই এবং md5sum সম্মত কিনা তা খতিয়ে দেখছি


আপনার কি RSAAuthentication yesএবং PubkeyAuthentication yesআপনার / ইত্যাদি / ssh / sshd_config আছে? Ssh -vv লোকালহোস্ট কী দেখায়? আমি কেবল এটি একটি 10.04 বাক্সে চেষ্টা করেছি এবং কোনও সমস্যা নেই ..
দুন

হাই দুন, সত্যই .. আমার উভয়ই হ্যাঁ আছে .. আমি প্রশ্নে ssh -vv এর আউটপুট যুক্ত করেছি।
ক্যানসিন

আপনার যদি ইতিমধ্যে অ্যাক্সেস থাকে তবে লোকালহোস্টে কেন টানতে হবে?
ভেষ্ট

সমান্তরাল প্রক্রিয়াকরণ সফ্টওয়্যারগুলি স্থানীয়
এসএসএস

দয়া করে প্রশ্নের উত্তর পোস্ট করবেন না বা শিরোনামে "সলভড" রাখবেন না। উত্তর সরবরাহ করে আপনি সঠিক কাজটি করেছেন। একবার আপনি উত্তরটি স্বীকার করে নিলে সিস্টেমটি দেখিয়ে দেবে যে সমস্যার সমাধান হয়েছে।
ক্রিসএফ

উত্তর:


10

সবার আগে আপনার বোঝা উচিত যে আপনি কী করছেন:

user@PC:~$ cat .ssh/id_rsa.pub | ssh localhost 'cat >> .ssh/authorized_keys'

আপনি .ssh/id_rsa.pubssh এর মাধ্যমে সর্বজনীন কী অনুলিপি করছেন , একই হোস্টে (লোকালহোস্টটি কী, একই হোস্টটি)। যদি আপনি localhostঅন্য কোনও হোস্টের সাথে প্রতিস্থাপন করেন, তবে এটি আরও অর্থবহ হবে (তবে আপনি কীভাবে এটি করবেন তা শেখার জন্য যদি এটি চেষ্টা করে থাকেন তবে তা ঠিক আছে)।

রিমোট হোস্টে আপনার পাবলিক কীটির অনুলিপি একবার (বা আপনি যে একই ঘরে রয়েছেন) পরে আপনাকে অবশ্যই তা নিশ্চিত করতে হবে যে আপনি সত্যিকারের জন্য এটি আপনার আসল হোস্টে কল করে ssh-agent/ ssh-add:

$ eval `ssh-agent`
$ ssh-add

তারপরে, আপনি যদি একটি পাসফ্রেজ সরবরাহ করেন তবে আপনাকে এটি পরে প্রবেশের জন্য অনুরোধ করা হবে ssh-add। আপনি যদি পাসফ্রেজ ব্যতীত একটি ব্যক্তিগত কী তৈরি করেন তবে তা।


হ্যাঁ, আমি আদেশগুলি বুঝতে পেরেছি, আমি কীগুলি দিয়ে স্বাভাবিক জিনিসগুলি করেছি তা পরিষ্কার করে দেওয়ার জন্য কেবল সেই পথটি রেখেছি। আমি এসএস-অ্যাড করেছি ... এটি পাসফ্রেজ জিজ্ঞাসা করবে না (যেমন আমি সৃষ্টিতে কেউই ব্যবহার করি নি) .. তবে আবার,
local

সুতরাং যদি আপনি মৃত্যুদণ্ড কার্যকর করেন ssh-addতবে দয়া করে আপনার প্রশ্নটি সম্পাদনা করুন এবং আপনার যা কিছু করেছেন তা রাখুন। আপনি যত বেশি তথ্য দিন, উত্তরটি আরও ভাল এবং তত দ্রুত।
টোরিয়ান

তার জন্য দুঃখিত, এখনই ঠিক হয়ে গেছে .. আমি টার্মিনাল যুক্ত করেছি, আবার এখানে পেস্ট করার জন্য সমস্ত করেছি ..
ক্যানসিন

ধন্যবাদ মিলিয়ন বার! বিটিডাব্লু, কেন " eval"?
আইপ্রোব্লমফ্যাক্টরি

3

সমস্যাটি আবিষ্কার করেছেন।

ডিবাগিং সহ সার্ভার চালানো:

$sshd -Dd

আমি দেখতে পেলাম যে এটি লেখক_কিটি পড়তে সক্ষম নয়

$chmod 750 $HOME

ঠিক কর.


আগের ফাইল পতাকাগুলি কী ছিল?
বিবাজা 42

2

নিম্নলিখিত পদক্ষেপগুলি করুন

ssh-keygen -t rsa -C "your_email@example.com"
# Creates a new ssh key, using the provided email as a label
# Generating public/private rsa key pair.

ডিফল্ট ফাইল এবং খালি পাসফ্রেজ ব্যবহার করুন (কেবলমাত্র পরবর্তী 2 ধাপে এন্টার টিপুন)

# start the ssh-agent in the background
eval "$(ssh-agent -s)"
# Agent pid 59566
ssh-add 

~ / .Ssh / id_rsa.pub এর বিষয়বস্তু ~ / .ssh / অনুমোদিত_প্রেমে অনুলিপি করুন

নিম্নলিখিত অনুমতিগুলি নিশ্চিত করুন

 ls -l .ssh/
 total 20
-rw-r--r--. 1 swati swati  399 May  5 14:53 authorized_keys
-rw-r--r--. 1 swati swati  761 Jan 12 15:59 config
-rw-------. 1 swati swati 1671 Jan 12 15:44 id_rsa
-rw-r--r--. 1 swati swati  399 Jan 12 15:44 id_rsa.pub
-rw-r--r--. 1 swati swati  410 Jan 12 15:46 known_hosts 

এছাড়াও, .ssh ডিরেক্টরিগুলির জন্য অনুমতিগুলি রয়েছে তা নিশ্চিত করুন। এটিও গুরুত্বপূর্ণ

drwx------.   2 swati swati    4096 May  5 14:56 .ssh

1
OME

আমার মেশিনে (ফেডোরা ২৮) authorized_keys0600 - তে অনুমতি নির্ধারণ করা সমস্যার সমাধান করে, যখন .sshডিরেক্টরিটির অনুমতি লোকালহোস্ট ছিনিয়ে নেওয়ার ক্ষেত্রে কোনও প্রভাব ফেলবে না
চ্যাং কিয়ান

1

সার্ভার কনফিগারেশন সরল করুন

আমি মনে করি আপনার পাসওয়ার্ড-ভিত্তিক প্রমাণীকরণ অক্ষম করার প্রয়োজন হতে পারে। এটি আমি ব্যবহার করি এটি একটি sshd_config

Port 22
Protocol 2
PermitRootLogin no
StrictModes yes
PasswordAuthentication no
ChallengeResponseAuthentication no
MaxStartups 2
AllowUsers peter paul mary
LogLevel VERBOSE

প্রথমে নূন্যতম কিছু চেষ্টা করুন, তারপরে আপনার অতিরিক্ত সক্ষমতা প্রয়োজন হওয়ায় এতে যুক্ত করুন।


হালনাগাদ:

সার্ভার লগ চেক করুন

আপনার EDIT3 থেকে আমি দেখতে পাচ্ছি যে ক্লায়েন্ট পাসওয়ার্ড-ভিত্তিক প্রমাণীকরণ চেষ্টা করার আগে সর্বজনীন-কী প্রমাণীকরণ ব্যর্থ হয়। আপনার সার্ভারের সিসলগে এসএসডি থেকে কিছু বার্তা থাকতে পারে যা এতে কিছুটা আলোকপাত করে।

পরিবর্তিত কনফিগারেশন পুনরায় লোড করুন

sshdযেকোন কনফিগার পরিবর্তনগুলি পুনরায় লোড করতে সিগন্যাল মনে রাখবেন । যেমনkill -HUP $(cat /etc/sshd.pid)


আমার মনে হয় পাসওয়ার্ড প্রমাণীকরণ অক্ষম করা যখন সে পাসওয়ার্ড ছাড়াও প্রবেশ করতে না পারে সে তার শেষ কাজটি করতে চায় (নিজেকে পুরোপুরি লক করে
রাখে

@ আমালগোভিনাস: আমি আমার প্রাথমিক উত্তর পোস্ট করার পরে প্রশ্নটি ব্যাপকভাবে সম্পাদিত হয়েছে। আমি মনে করি আমি এই উত্তরটি মুছতে পারি।
রেডগ্রিটিব্রিক

0

উপরের পোস্টটি সম্পর্কে, একই সমস্যার মুখোমুখি হয়ে আমি কেবল লাইনটি পরিবর্তন করেছি

পাসওয়ার্ডঅথেন্টিকেশন নং

/ etc / ssh / sshd_config ফাইলে এবং এটি কাজ করে।

তদতিরিক্ত, সম্ভবত এটি ব্যবহার করা ভাল

পরিষেবা sshd পুনরায় আরম্ভ করুন

sshd কনফিগারেশন পরিবর্তনগুলি পুনরায় লোড করতে।


0

রেড হ্যাট এন্টারপ্রাইজ লিনাক্স .5.৫ এসইলিনাক্স বৈশিষ্ট্যের জন্য এসএসডিডি পড়তে বাধা রোধ করার জন্য আরেকটি সমাধান restore হোম / .ssh পুনরুদ্ধার ব্যবহার করা হয়, আমার উত্তরটি এখানে দেখুন /superuser//a/764020/213743


0

আমার জন্য এটি হিসাবে সহজ ছিল

cat id_rsa.pub >> authorized_keys

0

আমার একই সমস্যা ছিল, আমি পাসওয়ার্ডটি কম লগইন তৈরি করতে 3 টি পদক্ষেপ অনুসরণ করেছি এবং এটি ভাল কাজ করে

1. ssh-keygen -t rsa
Press enter for each line
2. cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
3. chmod og-wx ~/.ssh/authorized_keys
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.