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

Ssh কমান্ড

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

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

সুচিপত্র:

Anonim

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

অনেকগুলি এসএসএইচ ক্লায়েন্ট বিনামূল্যে এবং বাণিজ্যিক উভয় ক্ষেত্রেই উপলব্ধ রয়েছে, ওপেনএসএসএইচ সর্বাধিক ব্যবহৃত ক্লায়েন্ট। এটি লিনাক্স, ওপেনবিএসডি, উইন্ডোজ, ম্যাকস এবং অন্যান্যগুলি সহ সমস্ত বড় প্ল্যাটফর্মে উপলব্ধ।

, আমরা কীভাবে ওপেনএসএসএইচ কমান্ড-লাইন ক্লায়েন্ট ( ssh ) একটি দূরবর্তী মেশিনে লগইন করতে এবং কমান্ড চালাতে বা অন্যান্য ক্রিয়াকলাপগুলি পরিচালনা করব তা ব্যাখ্যা করব।

ওপেনএসএইচ ক্লায়েন্ট ইনস্টল করা হচ্ছে

ওপেনএসএসএইচ ক্লায়েন্ট প্রোগ্রামকে ssh বলা হয় এবং এটি টার্মিনাল থেকে আহবান করা যেতে পারে। ওপেনএসএসএইচ ক্লায়েন্ট প্যাকেজটি এসএসএইচ কমান্ডের পাশাপাশি ইনস্টল করা অন্যান্য এসএসএইচ ইউটিলিটিগুলি যেমন scp এবং sftp করে।

লিনাক্সে ওপেনএসএসএইচ ক্লায়েন্ট ইনস্টল করা হচ্ছে

ওপেনএসএসএইচ ক্লায়েন্ট ডিফল্টরূপে বেশিরভাগ লিনাক্স বিতরণে ইনস্টল করা হয়। যদি আপনার সিস্টেমে ssh ক্লায়েন্ট ইনস্টল না করা থাকে তবে আপনি আপনার বিতরণের প্যাকেজ ম্যানেজার ব্যবহার করে এটি ইনস্টল করতে পারেন।

উবুন্টু এবং ডেবিয়ানে ওপেনএসএসএইচ ইনস্টল করা

sudo apt update sudo apt install openssh-client

CentOS এবং ফেডোরায় ওপেনএসএইচ ইনস্টল করা হচ্ছে

sudo dnf install openssh-clients

উইন্ডোজ 10 এ ওপেনএসএইচ ক্লায়েন্ট ইনস্টল করা হচ্ছে

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

ওপেনএসএসএইচ প্যাকেজের সঠিক নাম জানতে, নিম্নলিখিত কমান্ডটি টাইপ করুন:

Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'

কমান্ডটি এমন কিছু ফিরিয়ে আনবে:

Name: OpenSSH.Client~~~~0.0.1.0 State: NotPresent Name: OpenSSH.Server~~~~0.0.1.0 State: NotPresent

প্যাকেজের নামটি একবার জানলে চালিয়ে এটি ইনস্টল করুন:

Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

সাফল্যে আউটপুটটি এরকম কিছু দেখাবে:

Path: Online: True RestartNeeded: False

ম্যাকোজে ওপেনএসএইচ ক্লায়েন্ট ইনস্টল করা হচ্ছে

ডিফল্টরূপে ইনস্টল করা ওপেনএসএইচ ক্লায়েন্টের সাথে ম্যাকস শিপস।

কিভাবে ssh কমান্ড ব্যবহার করবেন

এসএসএইচ মাধ্যমে রিমোট মেশিনে লগইন করতে সক্ষম হতে নিম্নলিখিত প্রয়োজনীয়তাগুলি অবশ্যই মেনে চলতে হবে:

  • একটি এসএসএইচ সার্ভার অবশ্যই দূরবর্তী মেশিনে চলমান রয়েছে SS এসএসএইচ পোর্ট অবশ্যই রিমোট মেশিনের ফায়ারওয়ালে খোলা থাকতে হবে You আপনাকে অবশ্যই ব্যবহারকারীর নাম এবং দূরবর্তী অ্যাকাউন্টের পাসওয়ার্ড জানতে হবে। রিমোট লগইনের জন্য অ্যাকাউন্টটিতে যথাযথ সুবিধা থাকা দরকার।

ssh কমান্ডের বেসিক সিনট্যাক্সটি নিম্নরূপ:

ssh:HOST

ssh কমান্ডটি ব্যবহার করতে আপনার টার্মিনাল বা পাওয়ারশেল খুলুন এবং রিমোট হোস্টনামের পরে ssh টাইপ ssh :

ssh ssh.linuxize.com

আপনি যখন প্রথমবারের মতো এসএসএইচের মাধ্যমে কোনও রিমোট মেশিনে সংযুক্ত হন, আপনি নীচের মত একটি বার্তা দেখতে পাবেন।

The authenticity of host 'ssh.linuxize.com (192.168.121.111)' can't be established. ECDSA key fingerprint is SHA256:Vybt22mVXuNuB5unE++yowF7lgA/9/2bLSiO3qmYWBY. Are you sure you want to continue connecting (yes/no)?

প্রতিটি হোস্টের একটি অনন্য ফিঙ্গারপ্রিন্ট থাকে যা ~/.ssh/known_hosts ফাইলে সংরক্ষণ করা হয়।

রিমোট ফিঙ্গারপ্রিন্ট সংরক্ষণ করতে yes টাইপ করুন এবং আপনাকে আপনার পাসওয়ার্ড দেওয়ার জন্য অনুরোধ জানানো হবে।

Warning: Permanently added 'ssh.linuxize.com' (ECDSA) to the list of known hosts. [email protected]'s password:

আপনি পাসওয়ার্ডটি প্রবেশ করানোর পরে, আপনাকে রিমোট মেশিনে লগ ইন করা হবে।

ব্যবহারকারীর নাম দেওয়া না হলে, ssh কমান্ডটি বর্তমান সিস্টেমের লগইন নাম ব্যবহার করে।

ভিন্ন ব্যবহারকারী হিসাবে লগ ইন করতে নিম্নলিখিত ব্যবহারকারীর নাম এবং হোস্টটি নিম্নলিখিত বিন্যাসে নির্দিষ্ট করুন:

ssh username@hostname

ব্যবহারকারীর -l বিকল্পের সাথেও নির্দিষ্ট করা যেতে পারে:

ssh -l username hostname

ডিফল্টরূপে, যখন কোনও বন্দর দেওয়া হয় না, এসএসএইচ ক্লায়েন্ট 22 পোর্টের রিমোট সার্ভারের সাথে সংযোগ স্থাপনের চেষ্টা করবে some স্বয়ংক্রিয় আক্রমণ।

অ-ডিফল্ট পোর্টে সংযোগ রাখতে, পোর্টটি নির্দিষ্ট করতে -p বিকল্পটি ব্যবহার করুন:

ssh -p 5522 username@hostname

ssh -v username@hostname

ভার্বোসিটির স্তর বাড়াতে -vv বা -vvv ব্যবহার করুন।

ssh কমান্ড অনেকগুলি বিকল্প গ্রহণ করে।

সমস্ত বিকল্পের সম্পূর্ণ তালিকার জন্য আপনার টার্মিনালে man ssh লিখে টাইপ করে ssh ম্যান পৃষ্ঠাটি পড়ুন।

এসএসএইচ কনফিগারেশন ফাইল

ওপেনএসএসএইচ ক্লায়েন্ট প্রতি ব্যবহারকারী কনফিগারেশন ফাইলে (। ~/.ssh/config ) সেট করা বিকল্পগুলি পড়ে। এই ফাইলে, আপনি সংযুক্ত প্রতিটি রিমোট মেশিনের জন্য বিভিন্ন এসএসএইচ বিকল্প সংরক্ষণ করতে পারেন।

নীচে একটি নমুনা এসএসএইচ কনফিগারেশন দেখানো হয়েছে:

Host dev HostName dev.linuxize.com User mike Port 4422

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

ssh -p 4422 [email protected]

আরও তথ্যের জন্য, এসএসএইচ কনফিগারেশন ফাইলে নিবন্ধটি পরীক্ষা করুন।

সর্বজনীন কী প্রমাণীকরণ

এসএসএইচ প্রোটোকল বিভিন্ন প্রমাণীকরণ প্রক্রিয়া সমর্থন করে।

সর্বজনীন কী-ভিত্তিক প্রমাণীকরণ প্রক্রিয়া আপনাকে আপনার পাসওয়ার্ড টাইপ না করে দূরবর্তী সার্ভারে লগ ইন করতে দেয়।

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

ssh-keygen -t rsa -b 4096 -C "[email protected]"

আপনাকে একটি সুরক্ষিত পাসফ্রেজ টাইপ করতে বলা হবে। আপনি পাসফ্রেজ ব্যবহার করতে চান কিনা তা আপনার উপর নির্ভর করে।

আপনার কী যুক্ত হয়ে গেলে, সর্বজনীন কীটি দূরবর্তী সার্ভারে অনুলিপি করুন:

ssh-copy-id username@hostname

রিমোট ব্যবহারকারীর পাসওয়ার্ড প্রবেশ করান, এবং সর্বজনীন কী দূরবর্তী ব্যবহারকারীর authorized_keys ফাইলগুলিতে যুক্ত হবে।

কীটি আপলোড হয়ে গেলে, আপনি পাসওয়ার্ডের জন্য অনুরোধ না করে দূরবর্তী সার্ভারে লগ ইন করতে পারেন।

কী-ভিত্তিক প্রমাণীকরণ সেট করে, আপনি লগইন প্রক্রিয়াটি সহজ করতে এবং সামগ্রিক সার্ভারের সুরক্ষা বাড়িয়ে তুলতে পারেন।

পোর্ট ফরওয়ার্ডিং

এসএসএইচ টানেলিং বা এসএসএইচ পোর্ট ফরওয়ার্ডিং হ'ল একটি ক্লায়েন্ট এবং একটি সার্ভার মেশিনের মধ্যে একটি এনক্রিপ্ট হওয়া এসএসএইচ সংযোগ তৈরির একটি পদ্ধতি যার মাধ্যমে পরিষেবাগুলি পোর্টগুলি রিলে করা যেতে পারে।

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

তিন ধরণের এসএসএইচ পোর্ট ফরওয়ার্ডিং রয়েছে:

স্থানীয় পোর্ট ফরওয়ার্ডিং

স্থানীয় পোর্ট ফরওয়ার্ডিং আপনাকে ক্লায়েন্ট হোস্ট থেকে এসএসএইচ সার্ভার হোস্টে এবং তারপরে গন্তব্য হোস্ট পোর্টে একটি সংযোগ ফরোয়ার্ড করতে দেয়।

স্থানীয় পোর্ট ফরওয়ার্ডিং তৈরি করতে ssh ক্লায়েন্টকে -L বিকল্পটি পাস ssh :

ssh -L LOCAL_PORT:DESTINATION_HOST:DESTINATION_PORT -N -f username@hostname

-F বিকল্পটি ssh কমান্ডকে পটভূমিতে চালিত হতে এবং -N দূরবর্তী কমান্ডটি চালিত না করতে বলে।

রিমোট পোর্ট ফরওয়ার্ডিং

রিমোট পোর্ট ফরওয়ার্ডিং স্থানীয় পোর্ট ফরওয়ার্ডিংয়ের বিপরীত। এটি একটি পোর্ট সার্ভার হোস্ট থেকে ক্লায়েন্ট হোস্ট এবং তারপরে গন্তব্য হোস্ট পোর্টে ফরোয়ার্ড করে।

-L বিকল্পটি ssh কে একটি রিমোট পোর্ট ফরওয়ার্ডিং তৈরি করতে বলে:

ssh -R REMOTE_PORT:DESTINATION:DESTINATION_PORT -N -f username@hostname

ডায়নামিক পোর্ট ফরওয়ার্ডিং

ডায়নামিক পোর্ট ফরওয়ার্ডিং একটি এসওকেএসএস প্রক্সি সার্ভার তৈরি করে যা বিভিন্ন পোর্টের মধ্যে যোগাযোগের অনুমতি দেয়।

একটি ডায়নামিক পোর্ট ফরওয়ার্ডিং (এসওকেএসএস) তৈরি করতে ssh ক্লায়েন্টকে -D বিকল্পটি পাস করুন:

ssh -D LOCAL_PORT -N -f username@hostname

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

উপসংহার

এসএসএইচের মাধ্যমে একটি রিমোট সার্ভারের সাথে সংযোগ স্থাপন করতে ssh কমান্ডটি অনুসরণ করে রিমোট ব্যবহারকারী নাম এবং হোস্টনাম ( ssh username@hostname ) ব্যবহার করুন।

রিমোট সার্ভার পরিচালনার জন্য ssh কমান্ডটি কীভাবে ব্যবহার করতে হয় তা জানা।

ssh টার্মিনাল