এসএসএইচ ত্রুটি: অজানা কী টাইপ '----- শুরু করুন'


8

দূরবর্তী সার্ভারে এসএসএইচ লগইনের অনুমোদিত কীগুলি ব্যবহার করতে আমার সমস্যা হচ্ছে। আমি প্রাপ্ত ত্রুটি বার্তাগুলি এর মতো দেখাচ্ছে:

OpenSSH_5.2p1, OpenSSL 0.9.8r 8 Feb 2011
debug1: Reading configuration data /etc/ssh_config
debug1: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to xx.xx.xx [xxx.xx.xx.xx] port 22.
debug1: Connection established.
debug3: Not a RSA1 key file /Users/bfenker/.ssh/id_rsa.
debug2: key_type_from_name: unknown key type '-----BEGIN'
debug3: key_read: missing keytype
debug3: key_read: missing whitespace
...
debug2: key_type_from_name: unknown key type '-----END'
debug3: key_read: missing keytype
debug1: identity file /Users/bfenker/.ssh/id_rsa type 1
ssh_exchange_identification: Connection closed by remote host

এই সাইটের অন্যান্য প্রশ্নের অনুরূপ প্রশ্ন পোস্ট করা হয়েছে, এবং সমাধানটি সাধারণত ক্লায়েন্টের পক্ষের সমস্ত অনুমতিগুলি দ্বিগুণ পরীক্ষা করা ছিল যা আমি করেছিলাম:

drwxr-xr-x+ 23 bfenker          staff   782 May  8 11:02 bfenker
drwx------   8 bfenker          staff   272 May  8 10:05 .ssh
-rw-------   1 bfenker  staff  1675 May  8 09:51 id_rsa
-rw-r--r--   1 bfenker  staff   418 May  8 09:51 id_rsa.pub
-rw-------   1 bfenker  staff   999 May  8 09:46 identity
-rw-r--r--   1 bfenker  staff   663 May  8 09:46 identity.pub
-rw-r--r--   1 bfenker  staff   416 May  8 09:06 known_hosts

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

মনে রাখবেন যে আমি যখন এসএসএইচ সফলভাবে অন্য একটি সার্ভারে প্রবেশ করি তখন আমি একই ত্রুটি বার্তাগুলি পাই তবে এটি লাইনগুলি দিয়ে শুরু হয়ে উঠবে বলে মনে হয়:

debug1: Remote protocol version 2.0, remote software version OpenSSH_5.3
debug1: match: OpenSSH_5.3 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0

কেউ কি জানেন যে কেন এটি কিছু ক্ষেত্রে কাজ করে তবে আমি চাই না কেন? অন্য কোন পরামর্শ অনেক প্রশংসা হবে!


আপনি সার্ভার /etc/hosts.allowএবং /etc/hosts.denyফাইল পরিবর্তন করেছেন ?
মাইকেল হ্যাম্পটন

উত্তর:


13

Necroquestion! আপনি এই কীটি অন্য সার্ভারে লগ ইন করতে ব্যবহার করতে পারেন এই তথ্যের ভিত্তিতে @ মাইকেল-হ্যাম্পটন সঠিক পথে রয়েছে: গন্তব্য সার্ভারে এমন কিছু আছে (ফায়ারওয়াল / টিসিপি র্যাপার্স / এসএসডি কনফিগারেশন) যা অ্যাক্সেস অস্বীকার করছে। ভুল কী ফর্ম্যাটগুলি সম্পর্কে এই সমস্ত আলোচনা হ'ল ডিবাগ তথ্যের ভুল ব্যাখ্যার ভিত্তিতে একটি লাল রঙের হারিং ring লাইন

debug1: identity file /Users/bfenker/.ssh/id_rsa type 1

ইঙ্গিত করে যে ssh কীটি বুঝতে সক্ষম হয়েছিল।


4
এটি উচ্চতর হওয়া উচিত, আমার ঠিক এটির মতো একই লগ ছিল তবে এটি এসএসএইচ কী বুঝতে পেরেছিল এবং আমি অন্য কারণে সংযোগ দিচ্ছিলাম না। লগতে এটি কেন বলে এটি কীটি বুঝতে পারে না, যখন বাস্তবে এটি পারে, আমার বাইরে।
মগ্রান্দি

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

8

আপনার এসএসএইচ কীটি ভুল ফর্ম্যাটে সংরক্ষণ করা হয়েছে। ওপেনএসএইচ-তে কীগুলি ব্যবহার করা হয় যা একক লাইনে রাখা হয়। আপনি প্রয়োজন ssh-keygenসঙ্গে -iএবং -mবিকল্প, দেখতে man ssh-keygen। সম্ভবত এর মধ্যে একটি:

ssh-keygen -m RFC4716 -i -f /Users/bfenker/.ssh/id_rsa

আউটপুটটিকে নতুন কী ফাইল ( ssh-keygen ... >newkeyfile) হিসাবে ব্যবহার করুন ।

সম্পাদনা 1:

দয়া করে মনে রাখবেন: "এই বিকল্পটি এনক্রিপ্ট করা ব্যক্তিগত (বা সর্বজনীন) কী ফাইলটি পড়বে "

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


আপনার উত্তর দেওয়ার জন্য ধন্যবাদ. আমার এসএস-কীজেন অ্যাপ্লিকেশনটির কোনও -mবিকল্প নেই এবং -mবিকল্পটি ছাড়াই চেষ্টা করা আমাকে এই ত্রুটি দেয়: buffer_get_string_ret: bad string length 813827235 key_from_blob: can't read key type decode blob failed.
fenkerbb

তারপরে আপনার নিজের এসএসএইচ সফ্টওয়্যারটির ডকুমেন্টেশন পরীক্ষা করা উচিত বা একটি সাধারণ লিনাক্স সিস্টেমে রূপান্তর করা উচিত (যাকে আপনি বিশ্বাস করেন)।
হউক লেগেইজ

হা! "সাধারণ" লিনাক্স! আমি ম্যাকোএসএক্স-এ আছি তাই আমি সংগ্রহ করেছি যে আমার ওএস সম্ভবত এখানে সমস্যা issue
fenkerbb

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

আমি আপনার কমান্ডটি ssh-keygen এর ভিন্ন সংস্করণ দিয়ে চেষ্টা করেছি এবং এই ত্রুটিটি buffer_get_string_ret: bad string length 813827235 পেয়েছি আমার কী ফাইলের প্রথম লাইনটি -----BEGIN RSA PRIVATE KEY-----এবং পরবর্তী লাইনে শুরু করা হ'ল আলফানিউমেরিক অক্ষরের একটি দীর্ঘ তালিকা। @ হউক লেজিং
ফেনকারব্ব

2

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

আউটপুটটিতে থাকা লাইনগুলি তাদের ডিবাগ স্তরের সাথে উপসর্গযুক্ত, যা তাদের তাত্পর্যকেও একটি ইঙ্গিত দেয়: তবে নিম্ন সংখ্যাগুলি আরও তাত্পর্যপূর্ণ। debug3:কাপড় তুলনায় অনেক কম গুরুত্বপূর্ণdebug1:

কী ফাইলটি পড়লে, এসএসএস প্রথমে অবহিত আরএসএ কী (বর্তমানে "আরএসএ 1" নামে পরিচিত) হিসাবে পার্স করার চেষ্টা করছে, সেই কীগুলি শুরু হয় SSH PRIVATE KEY FILE FORMATএবং একটি সংস্করণ নম্বর। নতুন আরএসএ কীগুলি শুরু হয় -----BEGIN RSA PRIVATE KEY-----। এখানে একটি লগইন প্রচেষ্টা রয়েছে যেখানে identityএকটি পুরানো আরএসএ 1 শৈলীর কী এবং id_rsaএকটি নতুন শৈলী।

OpenSSH_5.3p1, OpenSSL 1.0.1e-fips 11 Feb 2013
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to localhost [::1] port 22.
debug1: Connection established.
debug1: identity file /home/user/.ssh/identity type 0
debug1: identity file /home/user/.ssh/identity-cert type -1
debug3: Not a RSA1 key file /home/user/.ssh/id_rsa.
debug2: key_type_from_name: unknown key type '-----BEGIN'
debug3: key_read: missing keytype
debug3: key_read: missing whitespace
[...]
debug2: key_type_from_name: unknown key type '-----END'
debug3: key_read: missing keytype
debug1: identity file /home/user/.ssh/id_rsa type 1
debug1: identity file /home/user/.ssh/id_rsa-cert type -1
debug1: identity file /home/user/.ssh/id_dsa type -1
debug1: identity file /home/user/.ssh/id_dsa-cert type -1
debug1: identity file /home/user/.ssh/id_ecdsa type -1
debug1: identity file /home/user/.ssh/id_ecdsa-cert type -1

এই মুহুর্তে এটি ফাইলগুলির মূল প্রকারগুলি identityযেমন type 0এবং id_rsaহিসাবে চিহ্নিত করেছে type 1। এটি যাচাই করে এমন অন্যান্য ফাইলগুলির অস্তিত্ব নেই এবং এটি রয়েছে type -1

debug1: Remote protocol version 2.0, remote software version OpenSSH_5.3
debug1: match: OpenSSH_5.3 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.3

যেহেতু এটি প্রোটোকল 2, প্রোটোকল 1 আরএসএ কীটি identityকেএক্সচেঞ্জের সময় উপেক্ষা করা হবে।

debug2: service_accept: ssh-userauth
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug2: key: /home/user/.ssh/id_rsa (0x5622d77426a0)
debug2: key: /home/user/.ssh/id_dsa ((nil))
debug2: key: /home/user/.ssh/id_ecdsa ((nil))

এটি এটি কী কী ফাইলগুলি ব্যবহার করতে চায় তা মনে করিয়ে দেয়। নিশ্চিত নয় যে কেন এটি অনুপস্থিত ফাইলগুলি কেবল প্রোটোকল 1 ফাইল প্রত্যাখ্যান করেছে, কিন্তু ...

debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password
[...]
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
debug3: Wrote 372 bytes for a total of 1689
debug1: Server accepts key: pkalg ssh-rsa blen 277

এবং এখানে এটি id_rsaকী সরবরাহ করে এবং এটি গৃহীত হয়।

সুতরাং, সংক্ষেপে, প্রশ্ন শিরোনামে সমস্যাটি একটি লাল হেরিং যা এস-এস থেকে আসে যা কীগুলি খুঁজে পায় তার বিশ্লেষণের একাধিক উপায়ে চেষ্টা করে, কীটি নিয়ে আসল সমস্যা নয়।


1

প্রথমে আপনার sshd লগগুলি পরীক্ষা করা উচিত। অর্থাত

less /var/log/secure

সুরক্ষা লগ সহ ইউনিক্স বিতরণ ফাইলের উপর নির্ভর করে পৃথক হতে পারে। তবে যখন আপনি এটি সন্ধান করেন তবে এটির কারণটি উচিত যা আপনি লগইন করতে পারবেন না।


1

আমি সম্প্রতি এই সমস্যাটির মুখোমুখি হয়েছি। আমার ক্ষেত্রে .ssh, আরএসএ ফাইল, হোম ডিরেক্টরি এবং ব্যবহারকারীর সাথে সম্পর্কিত সমস্ত কিছুই সহ সমস্ত অনুমতি সঠিক ছিল। সমস্যাটি হ'ল আমার কাছে .ssh সালে পূর্বে উত্পন্ন জনসাধারণের কী ছিল যা আমি লগইন করার জন্য যে ব্যক্তিগত কী ব্যবহার করছিলাম সেটির সাথে মিল ছিল না। .Ssh থেকে সর্বজনীন কী সরানো সমস্যার সমাধান করেছে।

আমি .ssh ডিরেক্টরি তৈরি করতে ssh-keygen ব্যবহার করছিলাম যার ফলস্বরূপ এই পাব কী তৈরি হয়েছিল এবং সে কারণেই সমস্যাটি।


0

আমার ম্যাকবুক প্রোতে ম্যাকওএস 10.7.5 এর সাথে আমার একই সমস্যা ছিল। আমার কীগুলির সাথে কোনও ত্রুটি ছিল না, এগুলি কেবল এনক্রিপ্ট করা হয়েছে (পাসফ্রেজের সাহায্যে, যেমন আপনি করার কথা ছিল) এবং ssh দ্বারা সঠিকভাবে এনক্রিপ্ট করা হয়নি। মনে ssh-agentহচ্ছে সমস্যা হচ্ছে।

এই নিবন্ধ অনুযায়ী, এই চেষ্টা করুন:

  1. /usr/bin/ssh-agentআপনার লগইন আইটেমগুলিতে রাখুন (সিস্টেমের পছন্দ -> ব্যবহারকারী এবং গোষ্ঠী -> ব্যবহারকারী নির্বাচন করুন -> লগইন আইটেম)। /usr/binডায়লগ বাক্সে নেভিগেট করা অত্যন্ত ভীষণ কঠিন , সুতরাং নিবন্ধটি আপনার হোম ডিরেক্টরিতে ( ln -s /usr/bin/ssh-agent)) একটি লিঙ্ক তৈরি করার পরামর্শ দেয় যা আপনি লগইন আইটেমগুলিতে রাখার পরে এটি সরিয়ে ফেলতে পারেন।

  2. প্রস্থান টার্মিনাল.এপ

  3. মেশিনটি পুনরায় চালু করুন।

  4. টার্মিনাল খুলুন এবং আপনার ssh কমান্ড পুনরায় চেষ্টা করুন।

আমার জন্য কাজ করেছেন (কমপক্ষে, এটি একবারে আছে)।

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