আমি যখন সর্বজনীন / বেসরকারী কীগুলির সাথে এসএসএইচ এর মাধ্যমে কোনও মেশিনের সাথে সংযোগ স্থাপন করব তখন আমি "জ্ঞাত_ হোস্ট" প্রশ্নটি কীভাবে এড়িয়ে যাব? [প্রতিলিপি]


16

আমি যখন সর্বজনীন / বেসরকারী কীগুলির সাথে এসএসএইচ এর মাধ্যমে কোনও মেশিনের সাথে সংযুক্ত হই তখন আমি "জ্ঞাত_হোস্ট" প্রশ্নটি কীভাবে এড়িয়ে যাব?


এটি যখন অন্য প্রশ্নের পূর্বাভাস দেয় তখন এটি কেন নকল হিসাবে চিহ্নিত হয়েছিল?
জেসন অ্যাকসেলসন

উত্তর:


31

অন্যান্য সমস্ত বর্তমান উত্তর ব্যবহারকারীর পরিচিতহোস্টফিল = / দেব / নাল অনুপস্থিত

আপনি যদি একবার এটি ব্যবহার করতে চান তবে:

ssh -o StrictHostKeychecking=no hostname

আপনি যদি বারবার এটি করতে চান তবে আপনার ~ / .ssh / কনফিগারেশনে নীচের মতো কিছু যুক্ত করা উচিত

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

Windows এর জন্য OpenSSH- র উপর এই কনফিগার করার জন্য কেবল প্রতিস্থাপন /dev/nullসঙ্গে NUL

এর থেকে ভাল ব্যাখ্যা: http://linuxcommando.blogspot.com/2008/10/how-to-disable-ssh-host-key-checking.html


2
আমি কয়েক মাস ধরে একটি সাবনেট ফিল্টার করার জন্য শিকার করে যাচ্ছিলাম (সক্রিয়ভাবে নয়), আমি যা চাইছিলাম ঠিক এটি এটিই ছিল। আমাদের ডিএইচসিপি সহ একটি ছোট বিকাশ নেটওয়ার্ক রয়েছে এবং আমাদের ডিভাইসগুলি সর্বদা নতুন আইপি ঠিকানা পাচ্ছে, এটি তাদের সাথে সংযোগ স্থাপন করা আরও সহজ করে তোলে easier ধন্যবাদ!
অ্যাডাম লুইস

13

ঘুরুন StrictHostKeyCheckingমাধ্যমে বন্ধ ssh_configবা কমান্ড লাইন অপশন।


/ etc / ssh / ssh_config বা ~ / .ssh / config --- বা উইন্ডোতে সমতুল্য যা কিছু তা যদি আপনার ক্লায়েন্ট প্ল্যাটফর্ম হয়
ডগ হ্যারিস

3

আপনি সর্বজনীন কীটি পেতে পারেন, এটি পরিচিত_হোস্টস ফাইলে যুক্ত করুন এবং তারপরে এটি পুনরায় সামঞ্জস্য করুন:

ssh-keyscan -t rsa hostname >> .ssh/known_hosts
ssh-keygen -H
rm .ssh/known_hosts.old

2
$ ssh -o StrictHostKeychecking=no hostname

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


2
আমি ব্যবহারকারীর জ্ঞাতহোস্টফিল ব্যবহার করতে চাই যাতে স্বাক্ষরটি আমার সিস্টেমে মনে না থাকে। একটি দুর্দান্ত কৌশল:ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeychecking=no hostname
মেটাভিডা

2

এটি আমাকে খুঁজে পেতে কিছুটা সময় নিয়েছে। আমি সর্বাধিক সাধারণ ইউজকেস দেখেছি যখন আপনি দূরবর্তী নেটওয়ার্কগুলিতে এসএসএস টানেল পেয়ে থাকেন। সমস্ত সমাধান এখানে সতর্কতা তৈরি করেছিল যা আমার স্ক্রিপ্টগুলি (নাজিওস) ভেঙে দিয়েছে।

আমার যে বিকল্পটি প্রয়োজন তা হ'ল:

NoHostAuthenticationForLocalhost yes

যা নাম অনুসারে কেবল লোকালহোস্টের ক্ষেত্রেও প্রযোজ্য।


0

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

cat /etc/ssh/ssh_host_rsa_key.pub

মেশিনের হোস্টনামটি প্রিপেন্ড করুন, এবং আপনার মেশিনের line / .ssh / জ্ঞান_হোস্টস ফাইলটিতে সেই লাইনটি যুক্ত করুন। আপনি দেখতে এমন কিছু দিয়ে শেষ করবেন:

myhost.example.com ssh-rsa AAAAB3Netc ...

পর্যায়ক্রমে, আপনি যদি কেবল কীটির ফিঙ্গারপ্রিন্ট ধরে নিতে চান, যা সীমিত ব্যান্ডউইথ চ্যানেল (যেমন একটি ফোন কল) এর মাধ্যমে স্থানান্তর করা সহজ হতে পারে, আপনি আপনার সহায়তা চালাতে পারেন:

ssh-keygen -lf /etc/ssh/ssh_host_rsa_key.pub

0

আপনি যদি কেবল হোস্ট চেকিং সাময়িকভাবে অক্ষম করতে চান, সুতরাং আপনি কোনও লাইভসিডি সিস্টেমে লগইন করতে পারেন, উদাহরণস্বরূপ, ~/.ssh/known_hostsঅন্য কোনওটির নাম পরিবর্তন করতে পারেন, এবং তারপরে আপনার কাজ শেষ হয়ে গেলে এটি আবার পরিবর্তন করতে পারেন।


-2
  1. "স্ট্রাইকটহস্টকি চেকিং নো" যোগ করুন / etc / ssh / ssh_config এ
  2. সিডি। / .এসএইচ
  3. আরএম পরিচিত_হোস্টস
  4. ln -s / dev / নাল পরিচিত_হোস্টস

লোটোখেলা


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