অ্যান্ড্রয়েড

Ssh কনফিগারেশন ফাইল ব্যবহার করে

বাংলা লিনাক্স টিউটোরিয়াল পার্ট -4 || Linux Root Directory

বাংলা লিনাক্স টিউটোরিয়াল পার্ট -4 || Linux Root Directory

সুচিপত্র:

Anonim

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

এই নির্দেশিকায় এসএসএইচ ক্লায়েন্ট কনফিগারেশন ফাইলের বেসিকগুলি অন্তর্ভুক্ত করা হয়েছে এবং বেশ কয়েকটি সাধারণ কনফিগারেশন বিকল্পগুলির ব্যাখ্যা করা হয়েছে।

পূর্বশর্ত

আমরা ধরে নিচ্ছি যে আপনি ওপেনএসএসএইচ ক্লায়েন্ট ইনস্টল থাকা একটি লিনাক্স বা একটি ম্যাকোস সিস্টেম ব্যবহার করছেন।

এসএসএইচ কনফিগারেশন ফাইলের অবস্থান

ওপেনএসএসএইচ ক্লায়েন্ট-সাইড কনফিগারেশন ফাইলটির নাম config , এবং এটি ব্যবহারকারীর হোম ডিরেক্টরিতে .ssh ডিরেক্টরিতে সঞ্চয় করা হয়।

The ~/.ssh ডিরেক্টরিটি স্বয়ংক্রিয়ভাবে তৈরি হয় যখন ব্যবহারকারী প্রথমবারের জন্য ssh কমান্ড চালায়। ডিরেক্টরিটি যদি আপনার সিস্টেমে উপস্থিত না থাকে তবে নীচের কমান্ডটি ব্যবহার করে এটি তৈরি করুন:

mkdir -p ~/.ssh && chmod 700 ~/.ssh

ডিফল্টরূপে এসএসএইচ কনফিগারেশন ফাইলের অস্তিত্ব থাকতে পারে তাই আপনার টাচ কমান্ডটি ব্যবহার করে এটি তৈরি করতে হতে পারে:

touch ~/.ssh/config

এই ফাইলটি কেবল ব্যবহারকারী দ্বারা পঠনযোগ্য এবং লিখিত হতে হবে এবং অন্যের দ্বারা অ্যাক্সেসযোগ্য নয়:

chmod 600 ~/.ssh/config

এসএসএইচ কনফিগারেশন ফাইল গঠন এবং প্যাটার্নস

এসএসএইচ কনফিগারেশন ফাইল নিম্নলিখিত কাঠামো গ্রহণ করে:

Host hostname1 SSH_OPTION value SSH_OPTION value Host hostname2 SSH_OPTION value Host * SSH_OPTION value

এসএসএইচ ক্লায়েন্ট কনফিগারেশন ফাইলের বিষয়বস্তুগুলি স্টাঞ্জগুলিতে (বিভাগগুলি) সাজানো হয়েছে। প্রতিটি স্তবটি Host নির্দেশনা দিয়ে শুরু হয় এবং এতে নির্দিষ্ট এসএসএইচ বিকল্প থাকে যা দূরবর্তী এসএসএইচ সার্ভারের সাথে সংযোগ স্থাপনের সময় ব্যবহৃত হয়।

ইন্ডেন্টেশন প্রয়োজন হয় না তবে এটি সুপারিশ করা হয় কারণ এটি ফাইলটি পড়া সহজ করে তোলে।

Host নির্দেশিকায় একটি প্যাটার্ন বা একটি সাদা স্থান-বিচ্ছিন্ন নিদর্শনগুলির তালিকা থাকতে পারে। প্রতিটি প্যাটার্নে শূন্য বা আরও অ-শ্বেতস্পেস অক্ষর বা নিম্নলিখিত প্যাটার্ন নির্দিষ্টকরণগুলির মধ্যে একটি থাকতে পারে:

  • * - শূন্য বা আরও বেশি অক্ষরের সাথে মেলে। উদাহরণস্বরূপ, Host * সমস্ত হোস্টের সাথে মেলে, তবে 192.168.0.* 192.168.0.0/24 সাবনেটে হোস্টের সাথে মেলে। ? - ঠিক একটি চরিত্রের সাথে মেলে। প্যাটার্ন, Host 10.10.0.? 10.10.0. সমস্ত হোস্টের সাথে 10.10.0. পরিসীমা। ! - যখন কোনও প্যাটার্নের শুরুতে ব্যবহৃত হয়, এটি ম্যাচটিকে উপেক্ষা করে। উদাহরণস্বরূপ, Host 10.10.0.* !10.10.0.5 10.10.0.0/24 সাবনেটের 10.10.0.5 ব্যতীত যে কোনও হোস্টের সাথে মেলে।

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

আপনার টার্মিনালে man ssh_config টাইপ করে অথবা ssh_config ম্যান পৃষ্ঠাতে গিয়ে আপনি উপলব্ধ ssh বিকল্পের সম্পূর্ণ তালিকা পেতে পারেন।

এসএসএইচ কনফিগারেশন ফাইলটি অন্যান্য প্রোগ্রাম যেমন scp , sftp এবং sftp দ্বারাও পঠিত।

এসএসএইচ কনফিগারেশন ফাইলের উদাহরণ

এখন যে আমরা এসএসএইচ কনফিগারেশন ফাইলের বেসিকটি আবরণ করেছি, আসুন নীচের উদাহরণটি দেখুন।

সাধারণত, এসএসএইচ এর মাধ্যমে কোনও রিমোট সার্ভারের সাথে সংযোগ করার সময় আপনি দূরবর্তী ব্যবহারকারীর নাম, হোস্টনাম এবং পোর্টটি নির্দিষ্ট করতে পারেন। উদাহরণস্বরূপ, john নামক ব্যবহারকারী হিসাবে কমান্ড লাইন থেকে 2322 পোর্টে dev.example.com নামে একটি হোস্টে লগ ইন করতে আপনি টাইপ করতে পারেন:

ssh [email protected] -p 2322

উপরের কমান্ডে প্রদত্ত একই বিকল্পগুলি ব্যবহার করে সার্ভারের সাথে সংযোগ স্থাপনের জন্য কেবল ssh dev টাইপ করে আপনার "~/.ssh/config ফাইলটিতে নিম্নলিখিত লাইনগুলি লিখুন:

~ /.Ssh / কনফিগ

Host dev HostName dev.example.com User john Port 2322

এখন আপনি যখন ssh dev টাইপ করবেন, ssh ক্লায়েন্ট কনফিগারেশন ফাইলটি পড়বে এবং dev হোস্টের জন্য নির্দিষ্ট করা সংযোগের বিশদটি ব্যবহার করবে:

ssh dev

শেয়ার করা এসএসএইচ কনফিগারেশন ফাইলের উদাহরণ

এই উদাহরণটি হোস্টের ধরণ এবং বিকল্পের প্রাধান্য সম্পর্কে আরও বিশদ তথ্য দেয়।

নীচের উদাহরণটি ফাইলটি নেওয়া যাক:

Host targaryen HostName 192.168.1.10 User daenerys Port 7654 IdentityFile ~/.ssh/targaryen.key Host tyrell HostName 192.168.10.20 Host martell HostName 192.168.10.50 Host *ell user oberyn Host * !martell LogLevel INFO Host * User root Compression yes

  • আপনি যখন ssh targaryen টাইপ ssh targaryen , ssh ক্লায়েন্ট ফাইলটি পড়ে এবং প্রথম ম্যাচ থেকে বিকল্পগুলি প্রয়োগ করে, যা Host targaryen । তারপরে এটি মিলিত প্যাটার্নের জন্য পরের স্তম্ভগুলি একে একে পরীক্ষা করে। পরের Host * !martell হ'ল Host * !martell (যার অর্থ Host * !martell ব্যতীত সমস্ত হোস্ট), এবং এটি এই martell থেকে সংযোগ বিকল্পটি প্রয়োগ করবে। সর্বশেষ সংজ্ঞা Host * সাথেও মেলে, তবে ssh ক্লায়েন্টটি কেবল Host targaryen বিকল্পটি গ্রহণ করবে কারণ User বিকল্পটি ইতিমধ্যে Host targaryen স্তরে সংজ্ঞায়িত হয়েছে।

    আপনি ssh targaryen টাইপ করার সময় ব্যবহৃত বিকল্পগুলির সম্পূর্ণ তালিকা নীচে রয়েছে:

    HostName 192.168.1.10 User daenerys Port 7654 IdentityFile ~/.ssh/targaryen.key LogLevel INFO Compression yes

    যখন ssh tyrell চলমান মেলে হোস্ট প্যাটার্নগুলি Host tyrell : Host tyrell , Host *ell Host tyrell , Host * !martell এবং Host * । এই ক্ষেত্রে ব্যবহৃত বিকল্পগুলি হ'ল:

    HostName 192.168.10.20 User oberyn LogLevel INFO Compression yes

    HostName 192.168.10.50 User oberyn Compression yes

    অন্যান্য সমস্ত সংযোগের জন্য, ssh ক্লায়েন্ট Host * !martell এবং Host * বিভাগে নির্দিষ্ট বিকল্পগুলি ব্যবহার করবে।

ওভাররাইড এসএসএইচ কনফিগারেশন ফাইল বিকল্প

Ssh ক্লায়েন্ট নীচের অগ্রাধিকার ক্রমে এর কনফিগারেশনটি পড়ে:

  1. কমান্ড লাইন থেকে বিকল্পগুলি নির্দিষ্ট করা হয়েছে p ~/.ssh/config সংজ্ঞায়িত /etc/ssh/ssh_config /etc/ssh/ssh_config সংজ্ঞায়িত /etc/ssh/ssh_config

Host dev HostName dev.example.com User john Port 2322

এবং আপনি অন্য সমস্ত বিকল্প ব্যবহার করতে চান তবে john পরিবর্তে ব্যবহারকারী root হিসাবে সংযোগ করতে কেবল কমান্ড লাইনে ব্যবহারকারীকে উল্লেখ করুন:

ssh -o "User=root" dev

-F ( configfile ) বিকল্প আপনাকে ব্যবহারকারী-প্রতি কনফিগারেশন ফাইলের বিকল্প নির্দিষ্ট করতে দেয়।

ssh ক্লায়েন্টকে ssh কনফিগারেশন ফাইলে উল্লিখিত সমস্ত অপশন উপেক্ষা করতে বলতে, ব্যবহার করুন:

ssh -F /dev/null [email protected]

উপসংহার

কীভাবে আপনার ব্যবহারকারীর ssh কনফিগারেশন ফাইলটি কনফিগার করতে হয় তা আমরা আপনাকে দেখিয়েছি। আপনি একটি এসএসএইচ কী-ভিত্তিক প্রমাণীকরণ সেট আপ করতে এবং কোনও পাসওয়ার্ড প্রবেশ না করেই আপনার লিনাক্স সার্ভারের সাথে সংযুক্ত করতে চাইতে পারেন।

ডিফল্টরূপে, এসএসএইচ 22 পোর্ট শুনতে পায় the

ssh টার্মিনাল