.Ssh / কনফিগারেশনে Regexp


12

কর্মক্ষেত্রে, আমাকে প্রায়শই হোস্টগুলিতে লগইন করতে হয় যা একটি সাধারণ নামকরণ স্কিম অনুসরণ করে, যেমন qc01- - qc12, hc01- hc10এবং আরও। এই সমস্তগুলির জন্য আমার ল্যাপটপে একই কনফিগার মানগুলি পাওয়া দরকার .ssh/config। অবশ্যই, আমি হোস্টগুলির জন্য এন্ট্রিগুলি ব্যবহার করতে পারি qc*এবং hc*তবে আমি ভাবছি এর পরিবর্তে যদি নিয়মিত এক্সপ্রেশন ব্যবহার করা কোনওভাবে সম্ভব হয় তবে?

উত্তর:


11

জেলরেন হিসাবে বর্ণিত ডিফল্ট ssh_configনিয়মিত প্রকাশকে সমর্থন করবে না তবে আপনি এর থেকে আলাদা কিছু চেষ্টা করতে পারেন:


4

দয়া করে, PATTERNSবিভাগটি দেখুন man ssh_config

দীর্ঘ উত্তর: না, আপনি যদি তা sshসমর্থন না করেন তবে আপনি পারবেন না ।


আমার এই বিভাগটি খুঁজে পাচ্ছি না man ssh_config
প্যাট্রিক


কি সংস্করণ প্রদর্শিত হয়েছিল?
ভোনব্র্যান্ড

3

আপনি আপনার সম্পূর্ণ নিয়মিত এক্সপ্রেশন ব্যবহার করতে পারেন ssh_config

সম্পর্কিত ডকুমেন্টেশন পড়ার এবং বুঝতে খুব আইএমও। আমি কেবল এটি বুঝতে পারি কারণ আমার 13+ বছরের লিনাক্স অভিজ্ঞতা এবং 8+ বছর ব্যবহার রয়েছে ssh। সুতরাং এখানে আমার নথির সংক্ষিপ্তসার:

  • man ssh_config নামক একটি বৈশিষ্ট্য বর্ণনা করে Match
  • তারপরে একটি বৈশিষ্ট্য রয়েছে execযা আপনাকে একটি ম্যাচ নির্ধারণের জন্য একটি স্বেচ্ছাসেবী শেল কমান্ড ব্যবহার করতে দেয়
  • স্বেচ্ছাসেবক শেল কমান্ডে ইনপুট পরামিতিগুলি সরবরাহ করা সম্ভব এবং লেবেলযুক্ত বিভাগে বর্ণিত TOKENS

আমার ক্ষেত্রে আমি এগুলি ব্যবহার করে শেষ করেছি~/.ssh/config :

Match exec "echo %h | grep -q 'NAME[0-9]\+$'"
    User USER
    IdentityFile /path/to/identity/file
    Hostname %h.fully.qualified.domain.name

টেস্টিং অবশ্যই এই জাতীয় কিছু জটিল সঙ্গে করা উচিত। এবং যে পরীক্ষার জন্য আপনি কল করবেন ssh -vvv HOSTNAME। যা হ'ল যা ঘটছে তা দেখায় এবং আপনার Matchনতুনকে সঠিকভাবে প্রয়োগ করা হয়েছে।


0

ট্রেভর থেকে উত্তর প্রসারিত:

আরও জটিল হোস্টগুলিও সম্ভব, যেমন মিল foo123.123এবং foo10.10একটি নিয়মে ব্যবহৃত হোস্টনামের জন্য ডিএনএস এন্ট্রি থাকা ছাড়া :

Match exec "echo %h | grep -q 'foo[0-9]\+.[0-9]\+$'"
    Port 1234 # just to show it can be paired with non-default ports too,
              # see %p in man ssh_config
    ProxyCommand /usr/bin/nc 10.10.$(echo %h | sed -e 's/foo//') %p

শেল দিয়ে% h এর বিষয়বস্তু পরিচালনা করতে এবং প্রকটকম্যান্ড ব্যবহার করে নেটকেটের মাধ্যমে ডান বন্দরটিতে সংযোগ স্থাপন করতে হবে। এভাবে আপনি পৃথক এন্ট্রি না তৈরি করে হোস্টের বিভাগের জন্য প্রিসেটগুলি তৈরি করতে পারেন ।

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