Ssh হোস্টনেম অনুরোধের শেষে আমি কোনও ডোমেন যুক্ত করতে উবুন্টুকে কনফিগার করতে পারি?


9

আমার অনেক সার্ভার রয়েছে এবং সেগুলি একই সার্ভারস.কম.প্যান্টি.নেটের সাথে শেষ হয়, উদাহরণস্বরূপ vded-xx-001.servers.company.net উদাহরণস্বরূপ, এবং ভাবছিলাম যে এটি তৈরি করা সম্ভব কিনা তাই আমি কেবল vded- টাইপ করতে পারি xx-001 এবং এটি স্বয়ংক্রিয়ভাবে সার্ভারস.কম.প্যান্ট.নেট সংযুক্ত করে?

সুতরাং আমি টাইপ করতে চাই

ssh user@vded-xx-001

এবং এটিকে আসলে সংযুক্ত করতে দিন

ssh user@vded-xx-001.servers.company.net

আমি আমার DNS- অনুসন্ধান ডোমেনটিকে / etc / নেটওয়ার্ক / ইন্টারফেসগুলিতে সার্ভারস.কম / pany.net এ সেট করার চেষ্টা করেছি, তবে এটি পছন্দসই ফলাফল অর্জন করতে পারেনি।

কেউ আমাকে সঠিক দিক নির্দেশ করতে সক্ষম?

আগাম ধন্যবাদ


আপনি কেবল search company.net/etc/resolv.conf এ যুক্ত করতে পারবেন না এমন কোনও কারণ আছে ?
হেনেস

@ হেনেস অনুসন্ধান সংস্থান.net.net এবং সার্ভারস.কম.পানি.টাকে রেজলভ.কনফ-এ যুক্ত করে কাজ করেছে। তবে ফাইলের শীর্ষে একটি সতর্কতা রয়েছে যে আমার পরিবর্তনগুলি ওভাররাইট করা হবে, যদি এই ক্ষেত্রে হয় তবে আমি কীভাবে এগুলি স্থায়ী করব?
টিম ল্যাসি ফ্রিবারন

1
আমি তার উত্তর দিতে চাই এবং অতিরিক্ত প্রতিনিধিত্ব করতে চাই, তবে এই পোস্টটি ইতিমধ্যে বেশ উত্তমরূপে উত্তর দিয়েছে: :-) জিজ্ঞাসাবাবু
হেনেস

প্রকৃতপক্ষে, এই প্রশ্নটিতে যা আলোচনা করা হয়েছে তার বিপরীতে, সাধারণত কোনও অনুসন্ধান ডোমেন তালিকা অন্তর্ভুক্ত করা ভাল /etc/network/interfaces( dns-searchবিকল্প ব্যবহার করে ) অথবা নেটওয়ার্ক ম্যানেজার সংযোগ কনফিগারেশন ক্ষেত্রে Search domains
jdthood

স্থানীয় সমাধানকারী কনফিগারেশনের সাথে গোলযোগ না করা এই সমাধানটি সহজ এবং পোর্টেবল।
অরেঞ্জডগ

উত্তর:


19

সম্ভবত আপনি এটি ইতিমধ্যে সমাধান করেছেন, তবে পরে এটি কারওর পক্ষে সহায়তা করতে পারে: আপনার সাথে আপনার গণ্ডগোলের দরকার নেই resolv.conf, আপনার মধ্যে এই জাতীয় কিছু ব্যবহার করতে পারেন ~/.ssh/config:

Host vded-*-001 test-*-something-fixed-*
        HostName %h.servers.company.net
        User someusername

সুতরাং পরে আপনি কেবল ব্যবহার করতে পারেন:

ssh vded-alotofstuff-001
ssh vded-somethingels-001
ssh test-02-something-fixed-somethingelse

এটি গ্রহণযোগ্য উত্তর হওয়া উচিত।
slm

সমস্যা সমাধানের জন্য এটি একটি উপায়, তবে নাম রেজোলিউশন সিস্টেম-ব্যাপী সমস্যার সমাধান করে না, এটি কেবল ssh হোস্ট নামের সমস্যার সমাধান করে। আমার জন্য সর্বোত্তম অনুশীলন হ'ল সিস্টেমব্যাপী সঠিক হোস্টনামটি অর্জন করতে এবং নির্দিষ্ট হোস্টের নামগুলি সমাধান করতে সক্ষম হওয়ার জন্য কোনও নির্দিষ্ট পরিষেবা (
এসএসএস

1
যদি এমন কিছু আমি ভুলে এই পর্যন্ত পরে আবার তাকান, যদি আপনি একই কনফিগ ভাগ করার সময় কেবল একটি 1st এন্ট্রি উল্লেখ, উভয় স্বল্প ও দীর্ঘ নাম অনুমতি দিতে চান Host vded-*.servers.company.net, সঙ্গে Hostname %h। তারপরে ইউজার, আইডেন্টিটি Host vded-*Hostname %h.servers.company.net
ফাইল

6

এটি সবচেয়ে সহজ সমাধান। এটি সমস্ত হোস্টের জন্য কাজ করে, কোনও ডিএনএস / রেজোলভার সিস্টেমে রুট বা অ্যাক্সেসের প্রয়োজন হয় না।

আপনার ~/.ssh/configফাইলের শীর্ষে যুক্ত করুন (বা এটি ইতিমধ্যে উপস্থিত না থাকলে তৈরি করুন):

CanonicalizeHostname yes
CanonicalDomains servers.company.net

ডকুমেন্টেশন ( man 5 ssh_config):

CanonicalizeHostname

সুস্পষ্ট হোস্টনাম ক্যানোনিকালাইজেশন সম্পাদিত কিনা তা নিয়ন্ত্রণ করে। ডিফল্ট, না , কোনও নামের পুনর্লিখন সম্পাদন করা নয় এবং সিস্টেমটি সমাধানকারীকে সমস্ত হোস্ট-নেম লুকআপ পরিচালনা করতে দেয়। সেট যদি হ্যাঁ তারপর সংযোগ করে একটি ব্যবহার করবেন না জন্য ProxyCommand , SSH হোস্ট-নেম ব্যবহার করে কমান্ড লাইন উল্লেখ canonicalize করার প্রচেষ্টা করা হবে CanonicalDomains প্রত্যয় এবং CanonicalizePermittedCNAMEs নিয়ম। যদি CanonicalizeHostname সর্বদা সেট করা থাকে তবে প্রক্সড সংযোগগুলিতেও canonicalization প্রয়োগ করা হয়।

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


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

2
@ অ্যাডাম ওয়ালনার আপনি এটি যোগ করেন না CanonicalDomainsতবে এটি কেবলমাত্র বর্তমান নেটওয়ার্কের অনুসন্ধান ডোমেনে কাজ করবে। আপনি যদি করেন (এবং আপনি একাধিক তালিকাবদ্ধ করতে পারেন) তবে এটি যে হোস্টনামের সাথে সংযুক্ত হতে পারে তার যে কোনও নেটওয়ার্কে সমস্ত সমাধান করার জন্য কাজ করবে ।
অরেঞ্জডগ

@ ডিড02392 ডকুমেন্টেশন যেমন বলে ঠিক এটি এটি করে does
অরেঞ্জডোগ

2

হ্যাঁ, আপনি নামের কনফিগারেশন ফাইল তৈরি ~/.ssh/configকরে এবং নিম্নলিখিত সামগ্রীগুলি প্রবেশ করে এটি করতে পারেন :

Host vded-xx-001
User user
Port 22
HostName vded-xx-001.servers.company.net

এখন আপনাকে কেবল এটি টাইপ করতে হবে (আপনার আর ব্যবহারকারীর নাম প্রয়োজন নেই):

$ ssh vded-xx-001

এটি কমান্ড-লাইন ইউটিলিটিতেও কাজ করে scp:

$ scp filename vded-xx-001:/path/

1
আমি সচেতন যে এটি স্বতন্ত্র হোস্টের পক্ষে কাজ করে তবে আমার শত রয়েছে এবং আমি আশা করছি যে আমি কোনও নিয়ম তৈরি করতে পারব যা ভিডিইডি- * তে উঠবে এবং তারপরে হোস্টনেম হোস্ট.সर्ভারস.কম.প্যান্টি.নেট করবে
টিম ল্যাসি

1
@ টিমলাসিফ্রিওরন: আপনি একটি স্ক্রিপ্ট লিখতে পারেন যা কনফিগার ফাইলের জন্য প্রয়োজনীয় এন্ট্রি জেনারেট করে। যদিও আপনি গতিশীলভাবে এটি করতে পারেন তা আমি জানি না।
ফ্লিম

@ টিমলাসিফ্রোবনে আমার উত্তর দেখুন
অরেঞ্জডোগ

2

আমার সমস্যার সমাধানটি অনুসন্ধানের ডোমেনটি যুক্ত করা ছিল resolv.conf:

search servers.company.net

এটি আমাকে প্রবেশের অনুমতি দিয়েছে

ssh user@vded-xx-001

আমার যে কোনও সার্ভারের জন্য এবং এটি সঠিক ঠিকানার সাথে সংযুক্ত।

উত্তরের জন্য আপনাকে ধন্যবাদ @ হেনেস


2
ধরে নিই যে আপনি উবুন্টু ১২.০৪ বা তার পরে চলছে, আপনার /etc/resolv.conf সরাসরি সম্পাদনা করা উচিত নয় কারণ রেজোলভকনফ ইউটিলিটি সেই ফাইলটি উত্পন্ন করে। (আসলে এটি /run/resolvconf/resolv.conf উত্পন্ন করে যার কাছে /etc/resolv.conf প্রতীকী লিঙ্ক is) পরিবর্তে আপনার ইন্টারফেস কনফিগারারের মাধ্যমে ডিএনএস সেটিংস কনফিগার করা উচিত, হয় আইফআপ বা নেটওয়ার্ক ম্যানেজার। ইফআপ : সম্পাদনা / ইত্যাদি / নেটওয়ার্ক / ইন্টারফেস এবং dns-search servers.company.netমেশিনের বাহ্যিক নেটওয়ার্ক ইন্টারফেসের জন্য স্তরের একটি লাইন যুক্ত করুন । এনএম : যোগ servers.company.netকরার Search domainsসংযোগের জন্য IPv4 ট্যাবে ক্ষেত্র।
jdthood

যদি আপনার মেশিনে /etc/resolv.confপ্রতীকী লিঙ্ক না ../run/resolvconf/resolv.confহয় তবে sudo dpkg-reconfigure resolvconfপ্রতীকী লিঙ্কটি পুনরুদ্ধার করতে চালান ।
jdthood

1

আপনি যদি এসএসএইচ পরিচয় ব্যবহার করছেন - এবং সেই সাথে অনেকগুলি সার্ভারের সাথে এটি দেখার মতো মূল্য রয়েছে - তবে অরেঞ্জডোগ যেমন বলেছিলেন যে ক্যানোনিকালাইজহস্টনাম এবং ক্যানোনিকালাইজডোমাইনস সেট করা আপনার পরিচিত হোস্টগুলিতে @ সার্টি-কর্তৃপক্ষের প্রবেশের সাথে একটি ম্যাচ সক্ষম করবে

জ্ঞাত_হোস্টস এন্ট্রি @ সার্টি-অথরিটি * .example.com ssh-rsa এএএড্ডাডফেকজিয়েও ...

ক্যানোনিকালাইজ অপশন ছাড়া আপনার "ssh host.example.com" ব্যবহার করা দরকার

ক্যানোনিকালাইজ অপশনগুলির সাথে "এসএসএস মাইহোস্ট" মিলবে।

আমি যদি এটির অনুমতি দেয় তবে অরেঞ্জডোগস উত্তরে একটি মন্তব্য হিসাবে এটি যুক্ত করতাম ...


0

বিভিন্ন প্রোগ্রাম জুড়ে কাজ করে এমন দ্রুত সমাধানের জন্য, আপনি ডোমেনটিকে vded-xx-001একটি নির্দিষ্ট আইপি ঠিকানায় পুনর্নির্দেশ করতে সেট করতে পারেন , /etc/hostsযাতে এই জাতীয় লাইন অন্তর্ভুক্ত করার জন্য:

173.194.41.90  vded-xx-001

এটি আপনার ব্রাউজারে কাজ করে: http://vded-xx-001/

পাশাপাশি এসএসএইচের মতো কমান্ড-লাইন উপযোগিতা:

$ ssh user@vded-xx-001

( যদিও আমি ব্যক্তিগতভাবে এসএসএইচ কনফিগারেশন সমাধানটি পছন্দ করি ))


0

সিস্টেম-প্রশস্ত ডোমেন নেম রেজোলিউশনের জন্য, আমি আমার নেটওয়ার্কে জিনিসগুলি একবারে সেট করতে চাই। সুতরাং আমি ডিএইচসিপি সার্ভারে ডোমেনের নাম এবং ডিএনএস সার্ভার সেট করে রেখেছি যাতে এটি সমস্ত মেশিনকে সঠিকভাবে resolv.confঅন্তর্ভুক্ত করে

  • প্রাথমিক ডিএনএস সার্ভার আইপি
  • ডোমেইন
  • অনুসন্ধান নির্দেশ

এটি ডিএইচসিপি সার্ভার এবং আপনি যে নেটওয়ার্ক কনফিগার করতে চান তার উপর নির্ভর করে ... আমি ব্যক্তিগতভাবে মেশিনের কাস্টম কনফিগারেশনটি পছন্দ করি না যখন এটি নেটওয়ার্কে সাধারণ কিছু হয়

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