SSH- এর জন্য হোস্টকি-নামী হোস্টে যুক্ত করবেন না


111

আমি এসএসএইচ এর মাধ্যমে একটি হোস্টের সাথে সংযোগ করতে চাই তবে আমি চাই না যে হোস্টের নামটি আমার সাথে যুক্ত করা হোক ~/.ssh/known_hosts

আমি এটা কিভাবে করবো?

উত্তর:


99
-o "UserKnownHostsFile /dev/null"

কাজ করা উচিত.


3
উদ্দিষ্ট হিসাবে কাজ করে তবে এটি সর্বদা প্রতিবেদন করবে: "সতর্কতা: স্থায়ীভাবে পরিচিত হোস্টগুলির তালিকায় 'হোস্টনাম, আইপি' (আরএসএ) যুক্ত করা হয়েছে।" আমি এটিকে দূরে সরিয়ে দিয়েছি: 2> & 1 | grep -v "^Warning: Permanently added"
গিলাইম বৌদ্রিউ

3
যোগ করুন - "লগলভেল এরির" এবং এটি আর সতর্কতার সাথে অভিযোগ করবে না
জন

1
দ্রষ্টব্য: এই বার্তাটি দমন করার জন্য একটি অনুরোধ "সতর্কতা: স্থায়ীভাবে পরিচিত হোস্টগুলির তালিকায় 'হোস্টনাম, আইপ' (আরএসএ) যুক্ত করুন।" রক্ষণাবেক্ষণকারীদের কাছে bugzilla.mindrot.org/show_bug.cgi?id=2413
বেন ক্র্যাসি

2
পাইপিং grepstdout এবং stderr একীভূত হবে; এছাড়াও প্রস্থান স্থিতি পরিবর্তন করতে পারেন। তাহলে ব্যবহার bash, এটা প্রক্রিয়া প্রতিকল্পন ব্যবহার করতে বার্তা পরিত্রাণ পেতে ভালো হতে হবে: ssh 2> >( egrep >&2 -v '^Warning: Permanently added') -o "UserKnownHostsFile /dev/null" [...]। এটি পাইপ এবং এইভাবে প্রস্থান স্থিতি হ্যান্ডলিং সম্পর্কিত পরিবর্তনগুলি এড়াতে পারবেন।
অ্যালেক্স ও

1
@ জন এই মন্তব্যগুলিতে অন্য যে কোনও একটি পদ্ধতি ব্যবহার করা ভাল, অন্যথায় আপনি অন্যান্য সম্পর্কিত, সম্পর্কিত সম্পর্কযুক্ত সতর্কতাগুলি আড়াল করার সম্ভাবনার কারণে সুরক্ষা ত্রুটি প্রবর্তন করছেন
জন বেন্টলে

97

আপনি যদি এই আচরণটি চান তবে আপনি ক্লাউড সার্ভারের সাথে কাজ করছেন (এডাব্লুএস ইসি 2, র্যাকস্পেস ক্লাউড সার্ভারস ইত্যাদি) বা আপনি ক্রমাগত ভ্যাগ্রেন্টে নতুন চিত্র সরবরাহ করছেন আপনি বাশ এলিয়াস বা আরও বিকল্প যুক্ত করার পরিবর্তে আপনার এসএসএইচ কনফিগারেশন আপডেট করতে চাইতে পারেন কমান্ড লাইন

এর মতো কিছু যুক্ত করার বিষয়টি বিবেচনা করুন:

Host *.mydomain.com 
  StrictHostKeyChecking no
  UserKnownHostsFile /dev/null
  User foo
  LogLevel QUIET
  • সুরক্ষিত হওয়ার জন্য হোস্টের জন্য যথাসম্ভব কঠোর রেগেক্স ব্যবহার করুন।
  • লগলিভেল কেউআইইএটিতে সেট করা গিলিয়াম যে সমস্ত সতর্কতা প্রদর্শন করবে তা রক্ষা করবে

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

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

1
লগলভেল যা আমি খুঁজছিলাম। স্ক্রিপ্টগুলি চলাকালীন সংস্থাটিকে কনফিগার করা নোটিশ না দেখানোর অতিরিক্ত সুবিধা রয়েছে! (আমি এখন W / loglevel ত্রুটি চলমান করছি)
Anshu Prateek

আমি কোন ফাইলে এটি যুক্ত করব?
উইম দেবলাউয়

এটি আপনার এসএসএইচ কনফিগারেশন ফাইল। লিনাক্স বা ম্যাকোসে ফাইলটি সাধারণত আপনার হোম ডিরেক্টরিতে .ssh নামে একটি ডিরেক্টরিতে থাকে এবং নামটি কনফিগার করা হয়
ss

8

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

আমি কেবল পঠনযোগ্য ज्ञात_হোস্ট ফাইলটি ব্যবহার করি, তাই আমাকে কিছু করতে হবে বা আমি পরিচিত_হোস্টগুলিতে এন্ট্রি যুক্ত করতে না পারার বিষয়ে অন্তহীন সতর্কতা পেয়েছি।

আমি যা ব্যবহার করি:

Host github.com *.github.com
StrictHostKeyChecking yes
CheckHostIP no
LogLevel ERROR

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


7

একক ssh সেশনের জন্য এটি ব্যবহার করুন

ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null user@host

4
এটি 5 বছরের পুরানো প্রশ্নের কোনও গ্রহণযোগ্য উত্তরে নতুন কিছু যুক্ত করে না।
জ্যাকগল্ড

5

আমার পরামর্শ

LogLevel ERROR

উপর

LogLevel QUIET

সুতরাং আপনি এখনও "হোস্টনাম সমাধান করতে পারেনি" এবং এই জাতীয় অন্যান্য ত্রুটিগুলি পান


আপনার এসএসএইচ সংযোগগুলি বিশ্বাস করতে সক্ষম হওয়া উচিত, তবে ho আপনার ঝুঁকি সম্পর্কে একেবারে নিরব করবেন না।
sylvainulg

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

2

আপনি অক্ষম করার চেষ্টা করেছেন StrictHostKeyChecking? আপনি এটি -oবিকল্পের সাহায্যে বা কনফিগারেশন ফাইলটিতে করতে পারেন ~/.ssh/config


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

0

আমি নিম্নলিখিত .ssh / কনফিগার এন্ট্রিগুলি দরকারী (ডিএইচসিপি এবং ডিএনএস সহ ল্যান) পেয়েছি:

 CheckHostIP no

 Host *.*
 CheckHostIP yes

ফলাফল স্থানীয় মেশিনের নাম "জোরা" বা "গোরন" গতিযুক্তরূপে নির্ধারিত আইপি ঠিকানাগুলির বিরুদ্ধে চেক করবে না, তবে www.mycompany.com বা node42.planetlab.com এখনও তাদের স্থির আইপি নিশ্চিত করবে।

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