এসএসএইচ হোস্ট যাচাইকরণের ত্রুটিগুলি পরিচালনা করার জন্য স্মুটেস্ট ওয়ার্কফ্লো?


41

এটি একটি সাধারণ সমস্যা যা আমরা সকলেই মুখোমুখি হয়েছি এবং সম্ভবত খুব বেশি চিন্তাভাবনা না করে ম্যানুয়ালি সমাধান করি।

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

নিম্নলিখিত বার্তাটি দেওয়া, আমি সাধারণত vi /root/.ssh/known_hosts +434এবং ddআপত্তিজনক লাইনটি মুছে ফেলি ।

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

পরামর্শ?

[root@xt ~]# ssh las-db1

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
ed:86:a2:c4:cd:9b:c5:7a:b1:2b:cc:42:15:76:8c:56.
Please contact your system administrator.
Add correct host key in /root/.ssh/known_hosts to get rid of this message.
Offending key in /root/.ssh/known_hosts:434
RSA host key for las-db1 has changed and you have requested strict checking.
Host key verification failed.

আমাদেরও একই সমস্যা। নাসার জাল টি.আর.আর.স.না.স.সা.স. / স্পেনসোর্স / প্রজেক্টস / মেশেশের অভিজ্ঞতা আমার নেই তবে পর্যালোচনা করার জন্য এটি আমার প্রযুক্তির তালিকায় রয়েছে।
অ্যান্ড্রু গিলমার্টিন

1
কোনও সার্ভার পুনরায় ইনস্টল / পুনরায় ইনস্টল করার সময় কেন পুরানো কীটি অনুলিপি করবেন না?
র্যান্ডম 832

@ র্যান্ডম 832 এটি এমন পরিস্থিতিতে স্কেল করে না যেখানে আপনার প্রচুর সার্ভার রয়েছে ... বা যদি আপনার কোনও ল্যাব / পরীক্ষার পরিবেশ থাকে যেখানে আপনি প্রায়শই আইপি ঠিকানাগুলি পুনর্ব্যবহার করেন। বা অন্য একটি মামলা; একটি অপরিকল্পিত সার্ভার প্রতিস্থাপন যেখানে মূল সার্ভারটি উপলভ্য নয় ...
ইয়েওয়াইট

3
আমার কাছে সবচেয়ে বড় প্রশ্নটি হল: আপনি কীভাবে এই পরিস্থিতিতে পড়বেন? আপনি যদি হোস্টনামগুলি পুনরায় ব্যবহার করে থাকেন তবে আপনি আপনার হোস্টের নামকরণের মান (সরঞ্জাম. ietf.org/html/rfc1178 ) পুনর্বিবেচনা করতে চাইতে পারেন । আপনি যদি আইপি ঠিকানাগুলি পুনরায় ব্যবহার করছেন, আপনার সেই আইপি ঠিকানায় পূর্ববর্তী সার্ভারটি ডিকমোমিশন করার মতো একই পদ্ধতির অংশ হিসাবে ssh কীগুলি ডিকমোনিশন করা উচিত। আপনি যদি কোনও "ওয়েবস্কেল" পরিবেশে কাজ করছেন যেখানে আইপি পুনরায় ব্যবহারের ব্যবস্থাটি একটি স্বয়ংক্রিয় ভিত্তিতে হয় এবং আধা-অর্থহীন হোস্টনাম বাধ্যতামূলক হয়, তবে আপনার একটি ভাল-স্বয়ংক্রিয় পর্যায়ে সার্ভার লাইফসাইক্লাল প্রক্রিয়া থাকা উচিত যা এসএসএস কীগুলি স্থির করে এগিয়ে যাবে
পল গিয়ার

উত্তর:


47

আপনি ssh-keygenহোস্ট দ্বারা নির্দিষ্ট এন্ট্রি অপসারণ করতে কমান্ডটি ব্যবহার করতে পারেন :

ssh-keygen -R las-db1

আপনার যদি সেই আদেশ না থাকে তবে আপনি সর্বদা সেড ব্যবহার করতে পারেন:

sed -i '/las-db1/d' /root/.ssh/known_hosts

3
বিরোধী কীগুলির সাহায্যে সমস্যা সমাধানের জন্য ssh-keygen -R ব্যবহার করা উবুন্টুতে থাকা এসএসএস ক্লায়েন্ট ত্রুটি বার্তায় এই সমস্যাটি উপস্থিত হওয়ার পরামর্শ দেয়।
কেনি রাশেয়ার্ট

ssh-keygenকমান্ডের সেই স্যুইচ সম্পর্কে আমি অবগত ছিলাম না । ভাল!
ew white

10
পরীক্ষা করে দেখুন এবং নিশ্চিত হয়ে নিন যে কেউ আসলে "কিছু কিছু নাস্ট করছেন!"
মাইকেল হ্যাম্পটন

1
কোনও কনফারেন্সে আপনি এটি না করেছেন তা নিশ্চিত করুন!
পল গিয়ার

2
@Wwite আপনি /etc/ssh/known_hostsউপযুক্ত হোস্ট কী (ম্যানেজড ডাব্লু / পুতুল ইত্যাদি) দিয়ে আপনার নেটওয়ার্কে ফাইলটি পপুলেট করুন বা আপনি নিজের ব্যক্তিগত ~ / .ssh / ज्ञात_হোস্ট ফাইলটি পপুলেট করুন (এর মধ্যে দুটি করার জন্য আপনি ssh-keyscanকোনও পরিচিত / নিরাপদ স্থানে চলে যেতে পারেন সংযোগ)। সেটাকে বাদ দিয়ে (এবং সুরক্ষার দিকে আপনার মোটেই যত্ন নেই) সেট করে UserKnownHostsFile=/dev/nullএবং StrictHostKeyChecking=noআপনার ~/.ssh/config file(বা এর সাথে বিকল্পগুলি পাস করার জন্য -o)
ভোরেটাক 7

25

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

এইভাবে সেগুলি সরানোর বিষয়ে আমাকে চিন্তা করতে হবে না। পুতুল আমার জন্য ত্রিশটি মিনিটে আমার এজেন্টদের চালাচ্ছে বলে পুতুল আমার জন্য কীগুলি চালিয়েছে এবং আপডেট করেছে of আমার জন্য ব্যতিক্রমগুলি খুব বিরল, এবং তাই আমি অপেক্ষা করতে রাজি না হলে আমি সিস্টেমের বিস্তৃত ज्ञात_হোস্টগুলির একটি দ্রুত সম্পাদনা করতে আপত্তি করি না।

class ssh::hostkeys {

  @@sshkey { "${::clientcert}_rsa":
    type => rsa,
    key => $sshrsakey,
    tag => 'rsa_key',
  }

  if 'true' == $common::params::sshclient {
    Sshkey <<| tag == 'rsa_key' |>> {
      ensure => present
    }
  }

  file {'/etc/ssh/ssh_known_hosts':
    ensure => present,
    owner => 'root',
    group => 'root',
    mode => 0644,
  }

}

+1 কনফিগারেশন পরিচালনার সরঞ্জামগুলি অন্তর্ভুক্ত করার জন্য ভাল পদক্ষেপ।
ew white

4

আমি এমন একটি পরামর্শ যুক্ত করতে চাই যা সুরক্ষার খুব কম উদ্বেগের খুব নির্দিষ্ট ক্ষেত্রে আপনাকে সহায়তা করতে পারে।

আমার মেশিনগুলির সাথে একটি ল্যাব পরিবেশ রয়েছে যা প্রায়শই পুনরায় ইনস্টল হয়। প্রতিবার যা ঘটে, তখন নতুন হোস্ট কী উত্পন্ন হয় (আমি সম্ভবত হোস্ট কীটি কোথাও সংরক্ষণ করতে পারি এবং এটি ইনস্টল-পরবর্তী স্ক্রিপ্টে সেট করতে পারি)।

যেহেতু এই ল্যাব পরিবেশে সুরক্ষা আমার পক্ষে কোনও সমস্যা নয় এবং কীগুলি প্রায়শই পরিবর্তিত হয়, তাই আমার .ssh / কনফিগারেশন ফাইলে আমার কাছে নিম্নলিখিতগুলি রয়েছে:

Host lab-*
  User kenny
  IdentityFile ~/.ssh/lab_id_rsa
  StrictHostKeyChecking no
  UserKnownHostsFile=/dev/null

এটি নিশ্চিত করে যে আমার ল্যাব মেশিনগুলিতে সংযোগ স্থাপনের ফলে আর কখনও ত্রুটি ঘটবে না এবং আমার ssh ক্লায়েন্ট হোস্ট কীটি পরীক্ষা না করে কেবল সংযুক্ত হবে।

এটি কেবল তখনই আপনার করা উচিত যখন সুরক্ষা আপনার পক্ষে মোটেই উদ্বেগজনক নয়, কারণ এটি আপনাকে মধ্যবর্তী মধ্যের আক্রমণের জন্য ঝুঁকিপূর্ণ অবস্থানে ফেলেছে।


1
ঝুঁকিপূর্ণ বলে মনে হচ্ছে। এর মধ্যে কয়েকটি পাবলিক-ফেসিং সিস্টেম হওয়ায় আমি হোস্ট যাচাইকরণ রাখতে চাই।
ew white

1
এই কারণেই তিনি উল্লেখ করেছিলেন যে এই পদ্ধতিটি কেবল "যেখানে সুরক্ষা কম / কোনও উদ্বেগের বিষয় নয়" is ব্যক্তিগত নেটওয়ার্ক / ল্যাব পরিবেশগুলি এই কনফিগারেশনের জন্য উপযুক্ত। মাল্টি-মেশিন অটো-স্কেলিং উত্পাদন / জনসাধারণের মুখোমুখি সিস্টেম, এতটা নয়।
ড্যানোস’র

4

ওপেনাশ 5.6 রিলিজ নোট অনুসারে , আপনাকে আর হোস্ট কীগুলি ব্যবহার করার দরকার নেই:

হোস্টবেস করা প্রমাণীকরণ এখন শংসাপত্র হোস্ট কী ব্যবহার করতে পারে। সিএ কীগুলি অবশ্যই sshd (8) তে বর্ণিত @ সার্ট-অথরিটি মার্কার ব্যবহার করে একটি ज्ञात_হোস্ট ফাইলগুলিতে নির্দিষ্ট করতে হবে।

সতর্কতা : আমি এখনও পর্যন্ত এই বৈশিষ্ট্যটি কারও প্রযোজনায় ব্যবহার করার কথা শুনিনি। আপনার নিজের ঝুঁকিতে ব্যবহার করুন (তবে আমি বিশ্বাস করি যে ওপেনশাল বিকাশকারীরা প্রচুর পরীক্ষা এবং কোড অডিটিং ছাড়াই এই ধরনের ঘাতক বৈশিষ্ট্য প্রকাশ না করার জন্য যথেষ্ট অদ্ভুত)


2

আপনার এসএসএল ক্লায়েন্ট এর কতটা সুবিধা নেয় তার উপর নির্ভর করে এসএসএইচএফপি ডিএনএস রিসোর্সরেকর্ড সাহায্য করতে পারে। হোস্টের নাম সহ আপনার সমস্ত ssh সর্বজনীন কী আঙুলের ছাপগুলি সেখানে সংরক্ষণ করুন।

এসএসএলের আগে DNSSEC বা DNS প্রয়োগ করুন Imp
http://www.ietf.org/rfc/rfc4255.txt

ফ্রিআইপিএ.org হোস্ট এবং ব্যবহারকারী কী পরিচালনার পাশাপাশি পিকেআই শংসাপত্রগুলি পরিচালনা করে। নতুন কী তৈরি করা হলে এটি স্বয়ংক্রিয়ভাবে এসএসএইচএফপি ডিএনএস রেকর্ডগুলি আপলোড করে।

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

http://docs.fedoraproject.org/en-US/Fedora/17/html/FreeIPA_Guide/host-keys.html

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