Ssh এ স্ট্রাইকটহস্টকিচেকিং অক্ষম করুন


14

আমি লিনাক্স হোস্টের সাথে যুক্ত হয়ে sshনিম্নলিখিত ত্রুটিটি ব্যবহার করার চেষ্টা করছি get

RSA host key for 10.1.1.20 has changed and you have requested strict checking.

আমি এটি ওভাররাইড করতে চাই, তবে এটি করার জন্য বিকল্পগুলির কোনও সংমিশ্রণ খুঁজে পাওয়া যাচ্ছে না।

আমি সম্ভবত কয়েক বছর আগে স্ট্রাইকহস্টকিচেকিং সেট করেছি, তবে কীভাবে তা মনে নেই।

আমি পরামর্শ নিয়েছি man sshযা আমাকে সিস্টেম-ওয়াইড কনফিগারেশন ফাইলটি অবহিত করে /etc/ssh/ssh_configএবং প্রতি ব্যবহারকারী কনফিগারেশন ফাইলের জন্য ডিফল্ট ~/.ssh/configউপস্থিতি নেই।

সম্পাদনা আমার প্রশ্নটি পরিষ্কার করতে, বিকল্পটি পরিষ্কারভাবে সেট করা আছে। আমি আবিষ্কার করার চেষ্টা করছি

  1. যেখানে বিকল্পগুলি সঞ্চয় করা আছে (ম্যান পৃষ্ঠায় আমার কাছে উল্লিখিত ফাইলগুলি নেই, যা ভুল বলে মনে হচ্ছে)।
  2. বিকল্পগুলি কীভাবে পরিবর্তন করবেন।

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


এটা /etc/ssh_configআমার।
sborsky

@ এসবর্স্কি আমার কাছে এটিও রয়েছে (যা মানুষটির থেকে আলাদা) তবে সমস্ত বিকল্প মন্তব্য করা হয়নি।
মিলিওয়েজ

এর অর্থ ডিফল্ট, যা ম্যান পৃষ্ঠা অনুসারে ask। যখন একটি হোস্ট কী পরিবর্তিত হয়, এসএসএস ক্লায়েন্ট StrictHostKeyCheckingসেট না করা ছাড়া সংযোগ করবে না no। হোস্ট কীটি প্রায়শই পরিবর্তিত হয় না, আমি ~/.ssh/known_hostsকনফিগার পরিবর্তন না করে আপনার এই হোস্ট কীটি সরিয়ে ফেলার পরামর্শ দেব ।
sborsky

1
প্রথমে আপনাকে বুঝতে হবে কেন এটি পরিবর্তন করা হয়েছিল। যদি আপনি এটি পরিবর্তন না করেন, তবে এটি একটি এমআইটিএম আক্রমণ হতে পারে এবং তারপরে অবশ্যই আপনার এই হোস্ট কীটি মঞ্জুরি দেওয়া উচিত নয়!
প্রদর্শিত নাম

পার্শ্ব নোট - প্রদত্ত হোস্টের জন্য সমস্ত রেকর্ড সরিয়ে দেওয়ার পরে .ssh/known_hostsআমি সতর্কতাটি অবিরত রেখেছি যতক্ষণ না আমি কল করা অন্য কোনও ফাইলে আপত্তিজনক সারিটি আবিষ্কার করি .ssh/known_hosts2। আপাতদৃষ্টিতে ওএস এক্স উভয়ই ব্যবহার করেছেন
বিলেন্নাহ

উত্তর:


18

বর্তমান ব্যবহারকারীর জন্য ওএস এক্স-তে কঠোর হোস্ট চেকিং নিষ্ক্রিয় করতে, or / .ssh / কনফিগারেশন তৈরি বা সম্পাদনা করুন এবং নিম্নলিখিত লাইনগুলি যুক্ত করুন:

Host [IP Address] 
   StrictHostKeyChecking no
   UserKnownHostsFile=/dev/null

আপনার স্থানীয় নেটওয়ার্কের হোস্টগুলির জন্য একটি আদর্শ উদাহরণ হতে পারে:

Host 10.1.1.*
   StrictHostKeyChecking no
   UserKnownHostsFile=/dev/null

আপনার ssh ব্যবহারের উপর নির্ভর করে আমি সমস্ত হোস্টের জন্য কঠোর হোস্ট কী চেকিং নিষ্ক্রিয় করার পরামর্শ দিচ্ছি না ।

যদি আপনি কেবল 10.1.1.20 এর জন্য এন্ট্রিটি আপনার পছন্দসই সম্পাদক দ্বারা open / .ssh / ज्ञात_হোস্টগুলি খুলুন এবং সংশ্লিষ্ট লাইনটি সরিয়ে রাখতে চান "10.1.1.20 ssh-rsa পাবলিক-কী $ "


এছাড়াও মনে হয় / dev / নাল লাইন ছাড়া কাজ করে।
2095

6

এটি কেবলমাত্র কমান্ডলাইনে যেমন কোনও স্বীকৃতি ছাড়াই এটি চেষ্টা করতে পারেন:

ssh -o StrictHostKeyChecking=no hostname

তবে আমি মনে করি না এটি আপনার প্রয়োজনীয় সমস্ত কাজ করে। আপনি যদি সমস্ত হোস্টকি চেকিং উপেক্ষা করতে চান তবে আপনাকে known_hostsফাইল সেট আপ করতে হবে /dev/nullযাতে কোনও কিছুই সংরক্ষণ করা যায় না:

ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null hostname

বা মধ্যে /etc/ssh_config:

StrictHostKeyChecking no
UserKnownHostsFile /dev/null

1 ম এখনও আমাকে সংযোগ করতে দেয়নি, তবে ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null hostnameকরেছে। আমি এখনও সন্ধান করতে পারি না যেখানে স্ট্রাইকটহস্টকি চেকিং সেট করা আছে!
মিলিওয়েজ

এটি "হ্যাঁ" এ ডিফল্ট হয় সুতরাং এটি প্রয়োগ করার জন্য এটি কোথাও সেট করতে হবে না।
জাকুজে

ডকুমেন্টেশনটি
হ্যাঁতে

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