Public / .ssh / अधिकृत_keys এ সর্বজনীন কী যুক্ত করা আমাকে স্বয়ংক্রিয়ভাবে লগ ইন করে না


446

আমি অনুমোদিত_কিজ ফাইলে সর্বজনীন এসএসএইচ কী যুক্ত করেছি । ssh localhostপাসওয়ার্ড না জিজ্ঞাসা করে আমাকে লগ ইন করা উচিত।

আমি এটি করেছি এবং টাইপ করার চেষ্টা করেছি ssh localhost, তবে এটি এখনও আমাকে পাসওয়ার্ড টাইপ করতে বলে। এটির কাজ করার জন্য আমাকে কি আর একটি সেটিং যেতে হবে?

অনুমতি পরিবর্তনের জন্য আমি নির্দেশাবলী অনুসরণ করেছি:

নীচে আমি যদি ফলাফল হয় ssh -v localhost

debug1: Reading configuration data /home/john/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug1: Connecting to localhost [127.0.0.1] port 22.
debug1: Connection established.
debug1: identity file /home/john/.ssh/identity type 1
debug1: identity file /home/john/.ssh/id_rsa type -1
debug1: identity file /home/john/.ssh/id_dsa type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_4.7p1 Debian-8ubuntu3
debug1: match: OpenSSH_4.7p1 Debian-8ubuntu3 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_4.7p1 Debian-8ubuntu3
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-cbc hmac-md5 none
debug1: kex: client->server aes128-cbc hmac-md5 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Host 'localhost' is known and matches the RSA host key.
debug1: Found key in /home/john/.ssh/known_hosts:12
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: publickey
debug1: Offering public key: /home/john/.ssh/identity
debug1: Server accepts key: pkalg ssh-rsa blen 149
debug1: PEM_read_PrivateKey failed
debug1: read PEM private key done: type <unknown>

তারপরে এটি উপরের লগের পরে একটি পাসফেজ চাইবে। এটি আমাকে পাসওয়ার্ড ছাড়া লগ ইন করছে না কেন?


5
যদিও এখানে কেস নেই, আপনি যদি গুগল থেকে এসে থাকেন এবং আপনি একটি এনক্রিপ্ট করা হোম ডিরেক্টরি ব্যবহার করছেন তবে এসএসডি এটি অ্যাক্সেস করতে সক্ষম হবে না এবং তাই আপনার অনুমোদিত_কিজ ফাইলটি পড়তে সক্ষম হবে না। এখানে একটি সমাধান রয়েছে: বাগস.লঞ্চপ্যাড.এন.বুন্টু
ড্যানিয়েল শেফার ২

উত্তর:


1097

আপনাকে authorized_keysফাইলের অনুমতি এবং এটি যে ফোল্ডারে / প্যারেন্ট ফোল্ডারগুলিতে রয়েছে তা যাচাই করতে হবে।

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

আরও তথ্যের জন্য এই পৃষ্ঠাটি দেখুন

গোষ্ঠী এবং অন্যদের লেখার অ্যাক্সেস অপসারণ করতে আপনার নিজের ডিরেক্টরি ডিরেক্টরিটির অনুমতিগুলি পরিবর্তন / যাচাই করতে হবে।

chmod go-w ~

6
ভাল উপরোক্ত কিছু কাজ করেছে, যদিও "chmod -R গো-আরগ্স ফুবার" বরং নাটকীয়? পুনরুক্তি প্রয়োজন কেন?
জোছিম

9
দ্বিতীয় অংশের জন্য, এটি পুনরাবৃত্ত করতে প্রয়োজনীয় নয়, কেবল এটি chmod go-wrx foobarকরা যথেষ্ট। এটি পুনরাবৃত্তিজনকভাবে করা কিছু অ্যাপ্লিকেশনগুলিকে মারাত্মকভাবে হাড় করতে পারে যদি আপনার কিছু গ্রুপ বা ফাইলগুলিতে অন্য অ্যাক্সেস থাকে, বিশেষত এটি যদি কোনও ওয়েব ডিরেক্টরি থাকে।
স্টিঞ্জিবি

24
ওপেনএসএইচএইচএইচএইউ-তে উল্লিখিত হিসাবে, ব্যবহারকারীর হোম ও। এসএসএইচ ডিরেক্টরিতে কেবল গ্রুপ / অন্যান্যদের জন্য অপসারণের অনুমতি লিখতে chmod go-w $HOME $HOME/.sshহবে (সুতরাং কৌশলটি করবে)। সুতরাং, অনুমতিগুলি উভয় ডিরেক্টরিতে 755 হিসাবে 'উন্মুক্ত' হতে পারে, যদি আপনি এতটা প্রবণ হন। সবচেয়ে সহজ / সর্বনিম্ন আক্রমণাত্মক কমান্ডগুলি এফএকিউতে থাকে
ডেভিডজবি

3
আমি না করা পর্যন্ত কেন এটি আমার পক্ষে কাজ করবে না chmod 700 ~/.ssh && chmod 644 ~/.ssh/authorized_keys? যেখানে 644 করেছে 600 600 কাজ করে নি ...
ficuscr

3
আমারও দরকার ছিল sudo chown -R {$USER}:{$USER} ~/.ssh/কারণ আমি authorized_keysফাইলটি মূল হিসাবে লিখেছিলাম ।
জেন হুপার

155

সেলইনাক্স কর্তৃপক্ষের_কিগুলি কাজ না করার কারণ হতে পারে। বিশেষত সেন্টোস 6 এবং 7 এর মূলের জন্য যদিও এটি অক্ষম করার প্রয়োজন নেই। একবার আপনি যাচাই করে নিলে আপনার অনুমতিগুলি সঠিক হয়ে যায়, আপনি এটি ঠিক করতে পারেন:

chmod 700 /root/.ssh
chmod 600 /root/.ssh/authorized_keys
restorecon -R -v /root/.ssh

7
restoreconকি তোমার পরে আপনি একটি নতুন হার্ড ড্রাইভে হাত, যেমন করে ফাইল কপি করা প্রয়োজন। (আপনি সম্ভবত এই ক্ষেত্রে সব ফাইল তে এটি চালানো উচিত অন্যান্য বিজোড় সমস্যার সমাধানের যায়নি।।)
ospalh

এখানে আরও একটি খুশি শিবির। এটি আমার সমস্যা ছিল RHEL 6.5
অ্যান্টোনিও অর্টেলস

2
9-10 বার, একটি "কেন এটি কাজ করে না, এটি সর্বদা কাজ করে" ইস্যুটি সেলিনাক্স সমস্যা।
অ্যান্ড্রু হোয়াইট

আমার জন্য সমস্যা সংশোধন উপর 1and1 (1und1) সার্ভারে
musicman

104

ssh অনুমোদিত_কিগুলি সেট করা সহজ বলে মনে হচ্ছে তবে কিছু চিত্র ফাঁকা করে যা আমি আঁকার চেষ্টা করছি

- সার্ভার -

ইন / etc / ssh / sshd_config সেট passwordAuthentication yesকরে সার্ভারকে অস্থায়ী পাসওয়ার্ড প্রমাণীকরণ গ্রহণ করতে দেয়

- ক্লায়েন্ট -

সাইগউইনকে লিনাক্স এমুলেশন হিসাবে বিবেচনা করুন এবং ওপেনশ ইনস্টল করুন এবং চালান

1. ব্যক্তিগত এবং পাবলিক কী তৈরি করুন (ক্লায়েন্ট পক্ষ) # ssh-keygen

এখানে টিপে শুধু আপনার পেতে ENTER ডিফল্ট 2 ফাইল " id_rsa " এবং " id_rsa.pub " এ ~ / .ssh / কিন্তু আপনি যদি একটি দিতে name_for_the_key উত্পন্ন ফাইলগুলি আপনার সংরক্ষিত হয় PWD

২. your_key.pub মেশিনকে লক্ষ্য করে রাখুনssh-copy-id user_name@host_name

যদি আপনি ডিফল্ট কী তৈরি না করেন তবে এটি ভুল হওয়ার প্রথম পদক্ষেপ ... আপনার ব্যবহার করা উচিত

ssh-copy-id -i path/to/key_name.pub user_name@host_name

৩. লগিং ssh user_name@host_nameকেবলমাত্র ডিফল্ট id_rsa এর জন্য কাজ করবে সুতরাং আপনার প্রয়োজনের জন্য এটি ২ য় ট্র্যাপssh -i path/to/key_name user@host

( কী ঘটছে তা দেখতে ssh -v ... বিকল্পটি ব্যবহার করুন )

সার্ভার যদি এখনও পাসওয়ার্ড চেয়ে থাকে তবে আপনি স্মেথ দিয়েছেন। পাসফ্রেজ প্রবেশ করতে : যখন আপনি কী তৈরি করেন (তাই এটি সাধারণ)

ssh যদি ডিফল্ট পোর্ট 22 না শুনে থাকে অবশ্যই ব্যবহার করা উচিত ssh -p port_nr

- সার্ভার -----

4. / etc / ssh / sshd_config করতে পরিবর্তন করুন

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile  %h/.ssh/authorized_keys

(ক্ষেত্রে যদি আগত না হয়)

এটি এসএসএসকে অনুমোদিত_কিগুলি গ্রহণ করতে এবং .ssh / अधिकृत_keys ফাইলে লিখিত কী_নাম স্টিংয়ের জন্য ব্যবহারকারীর হোম ডিরেক্টরিতে সন্ধান করতে বলে

লক্ষ্য মেশিনে 5 সেট অনুমতি

chmod 755 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

পাস অনুমোদন বন্ধ করুন

passwordAuthentication no

সমস্ত ssh রুট / অ্যাডমিন /....@ আপনার_ডোমেন প্রচেষ্টাতে গেটটি বন্ধ করতে

6 সমস্ত নন-রুট হোম ডিরেক্টরিগুলির মালিকানা এবং গোষ্ঠী মালিকানা উপযুক্ত তা নিশ্চিত করুন।

chown -R ~ usernamehere
chgrp -R ~/.ssh/ user 

===============================================

7. বিবেচনা excelent http://www.fail2ban.org

8. একটি মাইএসকিউএল (বাইন্ড = 127.0.0.1) সেভার অ্যাক্সেস করতে অতিরিক্ত এসএসএস টুনেল


5
মনে রাখবেন যে "মাত্র 4 সুরক্ষা" কেবল সুরক্ষার জন্য নয়! এসএসএইচ যদি এতে সীমাবদ্ধ অনুমতি না দেয় তবে ফাইলটি এড়িয়ে যাবে।
নবীন

মালিকানা নিশ্চিত করা এই তালিকায় দুর্দান্ত সংযোজন হবে
স্টিভিজয়

1
আমি সম্পর্কে কোন ধারণা ছিল ssh-copy-id! এই পদক্ষেপটি একা দুর্দান্ত উত্তর দেবে।
জেমস মার্বেল

1
chmod 755 ~ / .ssh এর পরিবর্তে আমি অন্য কোথাও দেখতে পাচ্ছি বলে মনে হয়েছিল
জিম ডব্লিউ মনিকা 22

36

এছাড়াও নিশ্চিত হন যে আপনার হোম ডিরেক্টরিটি অন্যের দ্বারা লিখিত নয়

chmod g-w,o-w /home/USERNAME

উত্তর এখান থেকে চুরি হয়ে গেছে


4
করছেন chmod 700 ~/.ssh ; chmod 600 ~/.ssh/authorized_keys ; chmod g-w,o-w ~আমার জন্য কাজ। ধন্যবাদ।
gbraad

1
শুধু chmod og-w /home/USERNAMEপরিবর্তে ব্যবহার করবেন না কেন ?
পরমবীর সিং কারওয়াল

13

বিভ্রান্ত টার্মিনাল থেকে id_rsa.pub টেক্সট অনুলিপি করার কারণে মরিয়াও তাদের নিশ্চিত করতে পারে যে তারা অনুমোদিত_কিজ ফাইলে অতিরিক্ত নতুনলাইন না রয়েছে।


2
আমার সাথে ঠিক এটাই হয়েছিল! দুটি টার্মিনাল একই প্রস্থের তাই আমি অনুমোদিত_কিগুলি ফাইলে দুটি লাইন দেখতে লাইন নম্বরগুলি চালু না করা পর্যন্ত এটি খুঁজে পাওয়া শক্ত।
শান

1
এই. আমি এই কারণে একটি ঘন্টা নষ্ট করেছি। এবং এটি প্রথমবার নয়। @ বোর্টুনাকের উত্তরে এসএস-কপি-আইডি সরঞ্জাম উল্লেখ করা হয়েছে, যা আমি ভবিষ্যতে এটি এড়াতে ব্যবহার করব।
xdmoore

আমি এর পরিবর্তে id_rsa.pubব্যবহারের সামগ্রী পেয়েছি যা অদৃশ্য লাইন ব্রেকগুলির কারণে মারাত্মক ছিল। morecat
ড্যান হালবার্ট

8

ব্যবহারকারী আপনার ব্যবহারকারীর নাম

mkdir -p /home/user/.ssh
ssh-keygen -t rsa
touch /home/user/.ssh/authorized_keys
touch /home/user/.ssh/known_hosts
chown -R user:user /home/user/.ssh
chmod 700 /home/user/.ssh
chmod 600 /home/user/.ssh/id*
chmod 644 /home/user/.ssh/id*.pub
chmod 644 /home/user/.ssh/authorized_keys
chmod 644 /home/user/.ssh/known_hosts

মূলের জন্য আরও ভাল:mkdir -p /home/$USER/.ssh && chown -R $USER:$USER /home/$USER/.ssh && sudo -u $USER ssh-keygen -t rsa && touch /home/$USER/.ssh/authorized_keys && touch /home/$USER/.ssh/known_hosts && chmod 700 /home/$USER/.ssh && chmod 600 /home/$USER/.ssh/id* && chmod 644 /home/$USER/.ssh/id*.pub && chmod 644 /home/$USER/.ssh/authorized_keys && chmod 644 /home/$USER/.ssh/known_hosts && vim /home/$USER/.ssh/authorized_keys # paste keys here!
ওডিসিয়াস

7

সতর্কতা অবলম্বন করুন যে SELinux এছাড়াও এই ত্রুটিটিকে ট্রিগার করতে পারে, এমনকি সমস্ত অনুমতি ঠিক আছে বলে মনে হচ্ছে। এটি অক্ষম করা আমার পক্ষে কৌশলটি করেছে (এটি অক্ষম করার বিষয়ে সাধারণ দাবি অস্বীকার করুন)।


আপনি সেলইনাক্স হস্তক্ষেপ দেখতে পাচ্ছেন /var/log/audit/audit.logrestorecon -R -v /root/.sshআমার নির্দিষ্ট কেস স্থির কর
ডেভ গুডেল

7

.Ssh / অনুমোদিত_keys এ সর্বজনীন কী তালিকাভুক্ত করা প্রয়োজনীয় তবে এসএসডিডি (সার্ভার) এর পক্ষে এটি গ্রহণের পক্ষে পর্যাপ্ত নয়। যদি আপনার ব্যক্তিগত কী পাসফ্রেজ-সুরক্ষিত থাকে তবে আপনাকে প্রতিবার ssh (ক্লায়েন্ট) পাসফ্রেজ দিতে হবে। অথবা আপনি ssh- এজেন্ট ব্যবহার করতে পারেন , বা একটি জিনোম সমতুল্য ।

আপনার আপডেট ট্রেস একটি পাসফ্রেজ-সুরক্ষিত ব্যক্তিগত কী এর সাথে সামঞ্জস্যপূর্ণ। Ssh- এজেন্ট, বা ব্যবহার দেখুন ssh-keygen -p


5

আদেশ লিখুন:

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

আপনি এটি করার পরে, নিশ্চিত করুন যে আপনার দিরটি এর মতো:

drwx------ 2 lab lab 4.0K Mar 13 08:33 .
drwx------ 8 lab lab 4.0K Mar 13 08:07 ..
-rw------- 1 lab lab  436 Mar 13 08:33 authorized_keys
-rw------- 1 lab lab 1.7K Mar 13 07:35 id_rsa
-rw-r--r-- 1 lab lab  413 Mar 13 07:35 id_rsa.pub

1
আপনার উত্তর গৃহীত একজনের সাথে কীভাবে আলাদা? আপনি এটি আপনার Ctrl + C Ctrl-V কমান্ডটি ব্যবহার করে 3 বছর পরে লিখেছেন?
স্টিংগার

5

আমার জন্য যে কৌশলটি চালিয়েছিল তা হ'ল মালিক / গোষ্ঠী মূল নয় তবে ব্যবহারকারী ছিল তা নিশ্চিত করা :

chown -R ~/.ssh/ user
chgrp -R ~/.ssh/ user 

চাওন: অবৈধ ব্যবহারকারী: '/ home/lsa/.ssh/'
স্টেপান ইয়াকোভেনকো

3

"Ssh-add" চেষ্টা করুন যা আমার পক্ষে কাজ করেছিল।


3

মনে রাখার জন্য আরও একটি টিপস। যেহেতু v7.0 ওপেনএসএইচ তাদের উত্তরাধিকারী দুর্বলতার কারণে ডিএসএস / ডিএসএ এসএস কীগুলি ডিফল্টরূপে অক্ষম করে। সুতরাং আপনার কাছে ওপেনএসএইচ ভি 7.0 + থাকলে আপনার কীটি নেই তা নিশ্চিত করুন ssh-dss

আপনি যদি ডিএসএ কীগুলির সাথে আটকে থাকেন তবে আপনি নিজের sshd_configএবং ~/.ssh/configফাইলগুলিকে লাইনের সাথে আপডেট করে স্থানীয়ভাবে সমর্থন সক্ষম করতে পারেন:PubkeyAcceptedKeyTypes=+ssh-dss


3

আমার ক্ষেত্রে আমার authorized_keysফাইলটি প্রবেশ করা দরকার ছিল.openssh

এই অবস্থানটি /etc/ssh/sshd_configবিকল্পের অধীনে নির্দিষ্ট করা আছে AuthorizedKeysFile %h/.ssh/authorized_keys


সার্ভারে (ক্লায়েন্টের সাথে সংযোগ দেওয়ার চেষ্টা করার সময়) সার্ভারে অ্যাক্সেস ছাড়াই ডিবাগ করা অসম্ভব এমন পুরো ক্লাসের সমস্যা রয়েছে ... এটি ক্ষতিকারক ক্লায়েন্টদের কাছ থেকে তথ্য গোপন করার নকশা দ্বারা তৈরি করা হয়েছে তবে এটি আরও শক্ত করে তোলে ডিবাগ।
qneill

2

লক্ষ্য ব্যবহারকারীটির পাসওয়ার্ড সেট রয়েছে কিনা তা নিশ্চিত হয়ে নিন। passwd usernameএকটি সেট করতে চালান । পাসওয়ার্ড এসএসএইচ লগইন অক্ষম করা থাকলেও এটি আমার জন্য প্রয়োজনীয় ছিল।


2

এটি আমার সমস্যা সমাধান করে

ssh- এজেন্ট বাশ

SSH-অ্যাড


দয়া করে কী তা ব্যাখ্যা করুন।
লাইবুস্লাভ কানেভ

Ssh- এজেন্ট আপনার ssh কীগুলি সংরক্ষণ করে..কমান্ড বাশ তার শেলের নতুন উদাহরণ শুরু করে। এবং এসএসএস-অ্যাড আপনার কীগুলি আনলক করে এবং এগুলি লোড করে
জুলিয়ান

2

আর একটি বিষয় আপনার যত্ন নিতে হবে। যদি আপনার উত্পন্ন ফাইলটি ডিফল্ট না থাকে id_rsa এবং id_rsa.pub

আপনাকে .ssh / config ফাইল তৈরি করতে হবে এবং সংযোগের সাথে আপনি কোন আইডি ফাইলটি ব্যবহার করতে যাচ্ছেন তা নিজেই নির্ধারণ করতে হবে।

উদাহরণ এখানে:

host remote_host_name
hostname 172.xx.xx.xx
user my_user
IdentityFile /home/my_user/.ssh/my_user_custom.pub

2
আইডেন্টিটি ফাইলটি ব্যক্তিগত কী হওয়া উচিত
কেন এইচ

@ কেন হ্যাঁ নিশ্চিত। টাইপো এটি। তার জন্য দুঃখিত
কুন্থার

1

আমি জারি sudo chmod 700 ~/.sshএবং chmod 600 ~/.ssh/authorized_keysএবং chmod go-w $HOME $HOME/.sshউপরে থেকে এবং এটি একটি CentOS7 বক্স উপর আমার সমস্যা সংশোধন যে আমি সাম্বা শেয়ার কাজ করে তার জন্য চেষ্টা করার সময় অনুমতি বিশৃঙ্খলার সৃষ্টি করেছে। ধন্যবাদ


1

এটি মনে হচ্ছে কোনও অনুমতি সমস্যার মতো। সাধারণত কোনও ফাইল / ডিরেক্টরি সঠিকভাবে সেট আপ না করা হলে এটি ঘটে। বেশিরভাগ ক্ষেত্রে তারা হয় ~/.sshএবং ~/.ssh/*। আমার ক্ষেত্রে তারা হয় /home/xxx

আপনি sshd এর লগ স্তর পরিবর্তন করে /etc/ssh/sshd_config(অনুসন্ধান LogLevel, এটি সেট করে DEBUG) পরিবর্তন করতে পারেন , তারপরে /var/log/auth.logঠিক কী ঘটেছে তা দেখতে আউটপুটটি পরীক্ষা করে দেখুন।


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

দুঃখিত, আমি ভেবেছিলাম এটিই এই ধরণের প্রশ্নটি সমাধান করার উপায়। এখন আমি কীভাবে এটি করতে জানি, ধন্যবাদ।
জোয়

1

আমার সমস্যাটি ছিল একটি সংশোধিত অথেরাইজড কিজফাইলে, যখন / ইত্যাদি / এসএসএস / অনুমোদিত_কাইগুলি স্থাপনের জন্য অটোমেশনটি এখনও চালু হয়নি।

$sudo grep AuthorizedKeysFile /etc/ssh/sshd_config
#AuthorizedKeysFile .ssh/authorized_keys
AuthorizedKeysFile  /etc/ssh/authorized_keys/%u

1

শুধু চেহারা /var/log/auth.log উপর সার্ভার । ক্লায়েন্টের পাশে -vv এর সাথে অতিরিক্ত ভার্বোসিটি সেট করা কোনও উপকারে আসেনি , কারণ সার্ভারটি কোনও সম্ভাব্য আক্রমণকারীকে খুব বেশি তথ্য সরবরাহ করার সম্ভাবনা নেই।


1

নিশ্চিত হয়ে নিন যে আপনি এতে সর্বসাধারণের কীটি অনুলিপি করেছেন authorized_keys; ssh rsaউপসর্গ কাজ কী-এর জন্য প্রয়োজন।


2
ssh-copy-id ব্যবহৃত হয়েছে
বিষ্ণু

1

আপনার ফাইলগুলির বৈশিষ্ট্য যাচাই করতে হবে। প্রয়োজনীয় সম্পত্তি ব্যবহার বরাদ্দ করতে:

$ chmod 600 ~/.ssh/sshKey
$ chmod 644 ~/.ssh/sshKey.pub

1

/var/log/auth.logজন্য সার্ভারে sshdপ্রমাণীকরণ ত্রুটি।

অন্য সমস্ত কিছু যদি ব্যর্থ হয়, তবে sshdডিবাগ মোডে সার্ভারটি চালান :

sudo /usr/sbin/sshd -ddd -p 2200

তারপরে ক্লায়েন্টের সাথে সংযুক্ত করুন:

ssh user@host -p 2200

আমার ক্ষেত্রে আমি ত্রুটি বিভাগটি শেষে পেয়েছি:

    debug1: userauth_pubkey: test whether pkalg/pkblob are acceptable for RSA SHA256:6bL+waAtghY5BOaY9i+pIX9wHJHvY4r/mOh2YaL9RvQ [preauth]
==> debug2: userauth_pubkey: disabled because of invalid user [preauth]
    debug2: userauth_pubkey: authenticated 0 pkalg ssh-rsa [preauth]
    debug3: userauth_finish: failure partial=0 next methods="publickey,password" [preauth]
    debug3: send packet: type 51 [preauth]
    debug3: receive packet: type 50 [preauth]

এই তথ্যের সাহায্যে আমি বুঝতে পারি যে আমার গ্রুপের sshd_configসদস্যদের লগইন সীমাবদ্ধ ছিল ssh। নিম্নলিখিত আদেশটি এই অনুমতি ত্রুটিটি স্থির করেছে:

sudo usermod -a -G ssh NEW_USER

0

এই নোটটিতে, আপনার sshd কনফিগারেশনের রয়েছে তা নিশ্চিত করুন -;

PermitRootLogin without-password

উপরের হিসাবে সেট করুন, তারপরে পুনরায় আরম্ভ করুন (/etc/init.d/sshd পুনঃসূচনা)

লগ-আউট এবং আবার লগ ইন চেষ্টা করুন!

আমি বিশ্বাস করি ডিফল্ট -

PermitRootLogin no

0

আমার ক্ষেত্রে এটি হ'ল কারণ ব্যবহারকারীর গোষ্ঠীটি কনফিগার ফাইল / etc / ssh / sshd_config এর মঞ্জুরিপ্রাপ্ত গ্রুপে সেট করা নেই। এটি যুক্ত করার পরে সবকিছু ঠিকঠাক কাজ করে।


0

আমার অ-মানক স্থানে হোম ডিরেক্টরি রয়েছে এবং sshdলগগুলিতে আমার এই লাইনটি রয়েছে:

Could not open authorized keys '/data/home/user1/.ssh/authorized_keys': Permission denied

এমনকি যদি সমস্ত অনুমতিগুলি ঠিক ছিল (অন্য উত্তরগুলি দেখুন)।

আমি এখানে একটি সমাধান খুঁজে পেয়েছি: http://arstechnica.com/civis/viewopic.php?p=25813191&sid=0876f069ec2aa5fdcd691a2e2e7242c2#p25813191

আমার বিশেষ ক্ষেত্রে:

  • এতে একটি নতুন লাইন যুক্ত হয়েছে /etc/selinux/targeted/contexts/files/file_contexts.homedirs:

    • এটি নিয়মিত হোম ডিরেক্টরিগুলির জন্য মূল লাইন:

      /home/[^/]*/\.ssh(/.*)? unconfined_u:object_r:ssh_home_t:s0

    • এটি আমার নতুন লাইন:

      /data/home/[^/]*/\.ssh(/.*)? unconfined_u:object_r:ssh_home_t:s0

  • একটি restorecon -r /data/এবং sshdপুনরায় আরম্ভের পরে


0

আমি এই সমস্যা এবং অন্যান্য উত্তর কেউ, এটা মীমাংসিত যদিও অবশ্যই অন্যান্য উত্তর হয় সঠিক।

আমার ক্ষেত্রে, প্রমাণিত হয়েছে যে /rootডিরেক্টরিটিতেই (যেমন নয় /root/.ssh) ভুল অনুমতি রয়েছে had আমার দরকার ছিল:

chown root.root /root
chmod 700 /root

অবশ্যই, এই অনুমতিগুলি chmod 770নির্বিশেষে এমন কিছু হতে পারে (সম্ভবত ) maybe যাইহোক, এটা বিশেষভাবে বিরত sshdকাজ করা থেকে, যদিও /root/.sshএবং /root/.ssh/authorized_keysউভয় সঠিক অনুমতি ও মালিকদের ছিল।


0

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

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