আমি কীভাবে কোনও এসএসএইচ কনফিগারেশনের হোস্ট এন্ট্রির জন্য একটি সিআইডিআর পরিসীমা মেলে পারি?


22

আমি এসএসএইচ ক্লায়েন্ট কনফিগারেশন (সাধারণত ~/.ssh/config) হোস্টগুলির সাথে মেলে নির্দিষ্ট সিআইডিআর ব্লক ব্যবহার করার উপায় খুঁজছি । উদাহরণস্বরূপ, আইপি একটি নির্দিষ্ট পরিসরের মধ্যে পড়ে যদি একটি বেস্ট হোস্টের মাধ্যমে সমস্ত ট্র্যাফিক ফরোয়ার্ড করার জন্য আমার প্রবেশ রয়েছে, আসুন বলি 10.1.0.0/16:

host 10.1.*
    proxycommand ssh -q bastion -W %h:%p

এটি খুব ভালভাবে কাজ করে তবে আমি কীভাবে এমন কিছু রেঞ্জ যুক্ত করব যেগুলি ডট সংকেতটি ঠিক ফিট করে না?

# doesn't work, unfortunately
host 10.2.0.0/18
    proxycommand ssh -q bastion-foo -W %h:%p
host 10.2.64.0/18
    proxycommand ssh -q bastion-bar -W %h:%p

ম্যানুয়ালটিতে এমন কিছু আছে যা আমি মিস করেছি, বা একটি চতুর স্ক্রিপ্টিং ট্রিক যা এই হোস্ট আইপি রেঞ্জগুলির সাথে মিল রাখতে সক্ষম করবে?

উত্তর:


24

Ssh_config ফাইলে নিদর্শনগুলির সাথে মিলটি নেটওয়ার্ক / সিআইডিআর ম্যাচিং হিসাবে নয়, বেসিক প্যাটার্নের মিল হিসাবে করা হয়। সুতরাং সিআইডিআর স্বরলিপি ব্যবহার করে কাজ হচ্ছে না।

Man পৃষ্ঠা যে ব্যাখ্যা করেছেন:

একটি প্যাটার্নে শূন্য বা আরও বেশি শ্বেতস্পেস অক্ষর, *(শূন্য বা আরও বেশি অক্ষরের সাথে মিলিত একটি ওয়াইল্ডকার্ড) বা ?(একটি ওয়াইল্ডকার্ড যা ঠিক একটি অক্ষরের সাথে মেলে) consists

একাধিক প্যাটার্নের একটি তালিকা ব্যবহার করা আপনার পক্ষে সবচেয়ে ভাল। আবার, ম্যানুয়াল পৃষ্ঠা থেকে:

একটি প্যাটার্ন-তালিকা নিদর্শনগুলির একটি কমা-বিচ্ছিন্ন তালিকা। প্যাটার্ন-তালিকার মধ্যে প্যাটার্নগুলি বিস্ময়কর চিহ্ন ( !) দিয়ে তাদের পূর্ববর্তী করে উপেক্ষিত হতে পারে ।

সুতরাং আপনার দুটি / 18 জাল coverাকতে, আপনাকে তালিকা তৈরি করতে হবে:

  • সমস্ত হোস্ট মিলছে 10.2.?.*(যেমন 10.2.0.0–10.2.9.255)
  • সমস্ত হোস্ট মিলছে 10.2.??.*(যেমন 10.2.10.0–10.2.99.255)
  • সমস্ত হোস্ট মিলছে 10.2.10?.*(যেমন 10.2.100.0–10.2.109.255)
  • সমস্ত হোস্ট মিলছে 10.2.11?.*(যেমন 10.2.110.0–10.2.119.255)
  • সমস্ত হোস্ট মিলে 10.2.12?.*যাওয়াগুলি বাদ দেয় 10.2.128.*এবং 10.12.129.*(এবং মনে রাখবেন যে বাদ অবশ্যই প্রথমে আসতে হবে!)

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

Host "10.2.?.*","10.2.??.*", "10.2.10?.*","10.2.11?.*","!10.2.128.*","!10.2.129.*","10.2.12?.*"

4
সুনির্দিষ্টভাবে বলতে গেলে, এটি কোনও নিয়মিত প্রকাশ নয়, এটি একটি গ্লোববিং ওয়াইল্ডকার্ড।
গ্যাবর গারামি

1
উত্তরের জন্য ধন্যবাদ, এটি প্রায় আমার জন্য কাজ করে তবে আমার আসলে পৃথক hostএন্ট্রি সহ সেই দুটি ব্যাপ্তির পার্থক্য করা দরকার । এটির জন্য পৃথকভাবে উদ্ধৃত প্রত্যেকটির প্রয়োজন (এসএসএস / ম্যাক)। সবচেয়ে কম আমি খুঁজে পেতে পারি: host "10.2.?.*", "10.2.??.*", "!10.2.64*", "!10.2.65*", "!10.2.66*", "!10.2.67*", "!10.2.68*", "!10.2.69*", "!10.2.7*", "!10.2.8*", "!10.2.9*" এবং host "10.2.??.*", "10.2.10?.*", "10.2.11?.*", "10.2.12?.*", "!10.2.1?.*", "!10.2.2?.*", "!10.2.3?.*", "!10.2.4?.*", "!10.2.5?.*", "!10.2.60.*", "!10.2.61.*", "!10.2.62.*", "!10.2.63.*", "!10.2.128.*", "!10.2.129.*"
চকচকে मे

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