কীভাবে এসএসএইচে কঠোর আরএসএ কী চেকিং সরিয়ে ফেলতে হবে এবং এখানে সমস্যা কী?


42

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

sh এসএসএস রুট @ হোস্ট 1 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@ @ @ সতর্কতা: রিমোট হোস্ট পরিচয় পরিবর্তন হয়েছে! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@ এটি কোনও ব্যক্তি নেস্টি কিছু করছে বলে মনে হচ্ছে! এই মুহূর্তে কেউ আপনার উপর শ্রুতিমধুর হতে পারে (মধ্য-আক্রমণে ম্যান-ইন)! এটিও সম্ভব যে আরএসএ হোস্ট কীটি সবেমাত্র পরিবর্তিত হয়েছে। রিমোট হোস্ট দ্বারা প্রেরিত আরএসএ কীটির আঙুলের ছাপটি 93: a2: 1b: 1c: 5f: 3e: 68: 47: bf: 79: 56: 52: f0: ec: 03: 6b। আপনার সিস্টেম অ্যাডমিনস্ট্রেটরের সঙ্গে যোগাযোগ করুন। এই বার্তাটি থেকে মুক্তি পেতে / home/emerson/.ssh/ज्ञ_hosts এ সঠিক হোস্ট কী যুক্ত করুন। অফার কী / home/emerson/.ssh/علوم_hosts:377 এ দেওয়া হচ্ছে

হোস্ট 1 এর জন্য আরএসএ হোস্ট কীটি পরিবর্তিত হয়েছে এবং আপনি কঠোর পরীক্ষার জন্য অনুরোধ করেছেন। হোস্ট কী যাচাইকরণ ব্যর্থ হয়েছে।

এটি আমাকে লগ ইন করে বেশ কয়েক সেকেন্ড রাখে এবং তারপরে এটি সংযোগটি বন্ধ করে দেয়।

হোস্ট 1: ~ / .ssh # রিমোট হোস্ট হোস্ট 1 থেকে পড়ুন: পিয়ার সংযোগটি হোস্ট 1 এ বন্ধ হয়ে গেছে।

কেউ কি জানেন যে এই সমস্যাটি সমাধানের জন্য কী ঘটছে এবং আমি কী করতে পারি?


1
এই পূর্বের প্রশ্নটি দ্বিধায় ফেলেছে
ড্রিউ স্টিফেনস

উত্তর:


68

কিছু লোকের প্রস্তাবিত হিসাবে পুরো ज्ञিত_হোস্ট ফাইলটি মুছবেন না, এটি সম্পূর্ণ সতর্কবার্তার বিন্দুটিকে বাতিল করে দেয়। এটি আপনাকে সুরক্ষা দেওয়ার জন্য একটি সুরক্ষা বৈশিষ্ট্য যা মাঝের আক্রমণে একজন ঘটেছে।

আমি আপনাকে পরামর্শ দিয়েছি যে এটি কেন কিছু পরিবর্তিত হয়েছে বলে মনে করে, সম্ভবত কোনও এসএসএইচ আপগ্রেড কোনও সম্ভাব্য সুরক্ষা গর্তের কারণে এনক্রিপশন কীগুলিকে পরিবর্তন করেছিল। এরপরে আপনি আপনার পরিচিত_হোস্ট ফাইল থেকে সেই নির্দিষ্ট রেখাটি মুছে ফেলতে পারেন:

sed -i 377d ~/.ssh/known_hosts

সতর্কবাণীতে কোলনের পরে এই ডি এলেটস লাইনটি 377 হিসাবে দেখানো হয়েছে:

/home/emerson/.ssh/known_hosts:377

বিকল্পভাবে আপনি নিম্নলিখিতটি দ্বারা প্রাসঙ্গিক কীটি সরিয়ে ফেলতে পারেন

ssh-keygen -R 127.0.0.1 (obviously replace with the server's IP)

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


এক কী অমিলের কারণে 350 টিরও বেশি সার্ভার মুছে ফেলছেন না। কোনও ধারণা কেন এটি সংযোগ বন্ধ রাখছে?
সেতাতাকাশী

আপনি প্রাসঙ্গিক পরিচিত_হোস্টের রেকর্ডটি সরিয়ে ফেললে কী এটি সমাধান হবে না? যদি তা না হয় তবে আপনি ssh ক্লায়েন্টটি ভার্বোজ মোডে চালাতে এবং এটি কোথাও পেস্টবিন করতে পারেন।
অ্যাডাম গিবিনস

1
এটি মেশিনটি বন্ধ করছে কারণ হোস্ট কীটি অবৈধ, যেমনটি বলা আছে। আপনি যদি সুরক্ষা সম্পর্কে গুরুতর হন তবে আপনাকে বৈধ কারণে হোস্ট কীটি পরিবর্তিত হয়েছে তা নিশ্চিত করার জন্য আপনাকে সার্ভারের প্রশাসকের সাথে চেক করা উচিত। যদি তাই হয় তবে আপনি এটিকে প্রতিস্থাপন করতে পারেন, যেমন অ্যাডামের ব্যাখ্যা explained
ম্যাথু ফ্ল্যাশেন

আমি আপনার পরামর্শটি অনুসরণ করেছি কিন্তু $ সেড-আই "46 ডি" ~ / এসএসএস / জ্ঞাত_হোস্ট সেড: 1: "/ ইউজারস / মায়াসার / এসএসএইচ ...": এল কমান্ডের শেষে অতিরিক্ত অক্ষর যাতে আমি নিজেই এটির সাথে সরিয়েছি vim এবং এটি কাজ করে। ধন্যবাদ!
লুইস রামিরেজ-মন্টেরোসা

3
অ্যাডামের বাক্য গঠনটি প্রায় সঠিক, তবে আপনার "377" এবং "ডি" এর মধ্যে একটি স্থান প্রয়োজন। এছাড়াও, ওএস এক্সে, পরিচিত হোস্টগুলি ~ / .ssh / জ্ঞাত_হোস্টে অবস্থিত; একটি "এর অভাব নোট করুন।" ফাইলের নাম।
কেটাপ্পে

27

আমি মনে করি যদিও এখানে কিছু উত্তর ওপির প্রশ্নের প্রস্তাবিত কার্যক্রমের দিকে লক্ষ্য রাখে, তবে এটি পুরোপুরি প্রশ্নের উত্তর দেয় না।

প্রশ্নে বলা হয়েছে "এসএসএইচে কীভাবে কঠোর আরএসএ কী চেকিং সরিয়ে ফেলতে হবে এবং এখানে সমস্যা কী?"

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

তবে "এসএসএইচে কঠোর আরএসএ কী চেকিং কীভাবে সরানো যায় " প্রশ্নের নির্দিষ্ট অংশের কোনও উত্তর আমি দেখতে পাইনি ।

আপনি সাধারণত স্টোরেজ থাকা আপনার এসএসএস কনফিগারেশন ফাইলটিতে স্ট্রাইকহস্টকি চেকিংটি সরিয়ে ফেলতে পারেন ~/.ssh/config

হোস্ট ব্লকের নীচে একটি উদাহরণ সরবরাহ করা হয়েছে:

Host 101
  HostName yourip|hostname
  User youruserid
  IdentityFile /path/to/keyfile
  Port 22
  StrictHostKeyChecking no

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


3
+1 কারণ এই পোস্টটি ত্রুটি বার্তার কঠোর চেকিং অংশটিকে সম্বোধন করে।
শিবুনি

1
প্রশ্নের বিষয়বস্তু সম্বোধনের জন্য আমার কাছ থেকেও +1। কারণগুলির উপর নির্ভর করে আরও কিছু করা হতে পারে। এই পদ্ধতির হোস্ট চেকিংকে "কড়া" থেকে "কিছু" (আমার পরিভাষা) এ অবনতি করে। আমার পরিস্থিতিতে সাইন ইন করা থেকে সরিয়ে রাখার অনুমতি ছাড়াই ssh রেখেছিল কারণ আমি যেভাবে সাইন ইন করতে চাইছিলাম সেটি ছিল একটি পাসওয়ার্ড প্রবেশ করানো এবং এটি "কিছু" হোস্ট চেকিং দ্বারা অক্ষম করা হয়েছিল। সুতরাং আপনাকে এগিয়ে যেতে হবে এবং "ইউজারকেনডহোস্টফিল ফাইল" হিসাবে / dev / নালটি ব্যবহার করতে সরাসরি ssh করতে হবে। এটি হোস্ট চেকিং কার্যকরভাবে "কিছুই নয়" তে সেট করে এবং উপরের ডায়ার সতর্কতাগুলি প্রয়োগ হয়, তাই এটি বিশ্বব্যাপী বা স্থায়ীভাবে করবেন না।
কার্ডিফ স্পেস ম্যান

এটি সত্যই একটি মার্জিত সমাধান। ভাগ করে নেওয়ার জন্য ধন্যবাদ!
লিওন - হ্যান লি

10

স্ট্রাইকটহস্টকিচেকিং অপসারণের আরেকটি উপায়, যখন আপনাকে কেবলমাত্র একক সার্ভারের জন্য এটি করা দরকার:

ssh <server> -o StrictHostKeyChecking=no

আপনাকে লগ ইন করতে দেবে কিন্তু স্থায়ীভাবে সমস্যার সমাধান করবে না।
আন্দ্রেস ক্যানেলা

যখন আমি এটি করি তা আমাকে কী যুক্ত করার সুযোগ দেয় যা সমস্যাটি স্থায়ীভাবে স্থির করে দেয়
গ্রেগ ডগের্টি

সম্ভবত আমাদের আলাদা সমস্যা আছে? আমি এমন একটি সার্ভারের সাথে সংযোগ করছি যা এর আগে আলাদা আইপি ছিল।
আন্দ্রেস ক্যানেলা

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

আমি মনে করি যে আপনার কনফিগারেশনে স্ট্রিক্টহোস্টকিচেকিংটি হ্যাঁ সেট করা রাখা একটি ভাল অনুশীলন এবং আপনি যখন কোনও নতুন সার্ভারের সাথে সংযোগ স্থাপন করছেন বা কোনও পুরানো সার্ভারের কীগুলি নিজেই পরিবর্তন করেছেন তখনই আপনি এই সুইচটি ব্যবহার করুন।
মোহাক

5

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

দ্বিতীয়ত, এসএস ডিবাগিংটি চালু করুন,

ssh -vvv user@host

এবং দেখুন যা আপনাকে যা বলেছে তা দেখুন, / সার্ভারের / var / লগ / সুরক্ষিত এবং / var / লগ / বার্তাগুলি অনুসন্ধান করার চেষ্টা করুন যা আপনি ক্লুগুলির জন্য সংযোগ দেওয়ার চেষ্টা করছেন, sshd ভাল ত্রুটির বার্তা দেয়।

তৃতীয়ত, এই মেশিনটি কি ইন্টারনেটের সাথে যুক্ত? আপনার কি সত্যিই রুট লগইনগুলিকে অনুমতি দেওয়া উচিত?


1
মূল লগইন মন্তব্যগুলির জন্য +1
ফাহাদ সদাহ

এই ত্রুটিটি ঘটতে যতটুকু লাগে তা হ'ল টার্গেট মেশিনটি রিমেজ করা। আপনি যদি কোনও ডিএমজেডের পাশে থাকা কোনও লক্ষ্যে সংযোগ করছেন তবে একটি এমআইটিএম আক্রমণ খুব কমই সম্ভাবনা রয়েছে।
ktappe

3

আপনি এটি পাচ্ছেন কারণ কিছু পরিবর্তিত হয়েছে (যেমন নতুন এনআইসি, নতুন আইপি, সার্ভার সফ্টওয়্যার পরিবর্তন ইত্যাদি)। সুরক্ষা ফোকাসে এসএসএইচ হোস্ট কী সুরক্ষা সম্পর্কে একটি দুর্দান্ত নিবন্ধ রয়েছে ।

সার্ভার থেকে কেবল $HOME/.ssh/known_hostsফাইলটি সম্পাদনা করে কী (এসএফটিপি বা অনুরূপ ব্যবহার করে) সরিয়ে দিন এবং পরবর্তী সংযোগের পরে নতুনটি গ্রহণ করুন।

আপনার সংযোগটি স্ট্রাইকহস্টকিচেকিং সেটিংটির কারণে বাদ পড়ছে। অনুরূপ ইস্যুটির জন্য এই থ্রেডটি দেখুন ।


2
Noooo, দয়া করে এটি করবেন না। এটি সম্পূর্ণরূপে এই বৈশিষ্ট্যটি সরবরাহ করে এমন সমস্ত সুরক্ষা দেয়। দয়া করে কেবল নির্দিষ্ট কীটি সরিয়ে ফেলুন যা সমস্ত পরিচিত_হোস্টগুলি নয় changed
অ্যাডাম গিবিনস

5
আমি পরিচিত_হোস্ট ফাইলটি সরানোর প্রস্তাব দিইনি, আমি এটি সম্পাদনা করার এবং এটি থেকে কীটি সরিয়ে দেওয়ার পরামর্শ দিয়েছি।

ওওফ, দুঃখিত, ভুল পড়া
অ্যাডাম গিবিনস

2
এই বার্তাটি অবশ্যই কোনও নতুন আইপি অ্যাড্রেস দ্বারা ট্রিগার করা যাবে না, কোনও নতুন এনআইসি দ্বারা খুব কম। অ্যাডাম গিবিন্সের সঠিক উত্তর দেখুন।
bortzmeyer

1
আপনি ভোট দেওয়ার আগে (আমি লোকেরা এতে খুশি খুশি দেখতে পাচ্ছি), আপনার গবেষণা করুন। এই সুরক্ষা ফোকাস নিবন্ধটি পড়ুন, সিকিউরিটি ফোকাস . com/ ইনফোকস / ১80০6 । আমি এর কিছুটা উদ্ধৃতি দিয়েছি: "হোস্ট কী কীভাবে পরিবর্তন হতে পারে? আপনি যে মেশিনে সংযোগ করতে চান তা যে মেশিনে আলাদা ডিএনএস নাম বা আইপি ঠিকানায় স্থানান্তরিত হয়েছে, বা এটি সম্পূর্ণ নতুনভাবে প্রতিস্থাপন করা হয়েছে।" যদি কোনও উত্তর মারাত্মকভাবে ভুল হয় তবে দয়া করে সংশোধনের সুযোগটি দিন। সর্বোপরি, এটি একটি উইকি।

3

'হোস্ট' হিসাবে [বিস্তৃতভাবে সংজ্ঞায়িত, এটি কোনও পুনরায় ইনস্টল / মাল্টবুট থেকে সম্পূর্ণ আলাদা কম্পিউটারে যে আইপি ঠিকানার সাথে আপনি আগে সংযুক্ত হয়েছিলেন তা হতে পারে, উদাহরণস্বরূপ] এসএসএস ক্লায়েন্টের পরিবর্তিত হয়েছে বলে মনে হচ্ছে, এটি আপনাকে দিচ্ছে ত্রুটি।

কঠোর চেকিং বন্ধ করা অপ্রয়োজনীয়, বা সংরক্ষিত কীগুলি পাইকারি মুছে ফেলা বুদ্ধিমানও নয়।

নির্দিষ্ট হোস্টনাম বা আইপি ঠিকানার জন্য পরিচিত_হোস্টগুলিতে দুটি পৃথক কী তালিকাভুক্ত করা বেশ সম্ভব; আপনি যে 'পুরাতন' কীটি বর্তমানে পরিচিত_হোস্টগুলিতে সঞ্চিত রয়েছেন আপনার প্রয়োজন হতে পারে তা অনুসারে আপনাকে 2 টি বিকল্প দেওয়া হচ্ছে

হয় ওপির জন্য পরিচিত_হোস্টের l377 এ উল্লেখ করা নির্দিষ্ট কীটি মুছুন বা দুটি রাখুন

পরিচিত_হোস্টে কীগুলি মুছে ফেলা এড়ানো, উভয় রাখার সহজ উপায়

  1. অস্থায়ীভাবে [_ l377] রেফারেন্সকৃত 'পুরানো' এন্ট্রি শুরুতে # যুক্ত করতে পরিচিত_হোস্টগুলি সম্পাদনা করুন
  2. [হোস্টের সাথে এসএসএস] সংযুক্ত করুন, নতুন কী 'স্বয়ংক্রিয়ভাবে' যুক্ত করার অনুরোধে সম্মত হন
  3. তারপরে # অপসারণের জন্য ज्ञात_হোস্টগুলি পুনরায় সম্পাদনা করুন

"জ্ঞাত_হোস্টগুলিতে সঠিক হোস্ট কী যুক্ত করুন" / হোস্টনামে একাধিক ssh হোস্ট কীগুলিতে আরও উত্তর ?


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