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

কীভাবে ssh টানেলিং সেট আপ করবেন (পোর্ট ফরওয়ার্ডিং)

, SSH টানেলিং ব্যাখ্যা

, SSH টানেলিং ব্যাখ্যা

সুচিপত্র:

Anonim

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

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

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

  • স্থানীয় পোর্ট ফরওয়ার্ডিং - ক্লায়েন্ট হোস্ট থেকে এসএসএইচ সার্ভার হোস্ট এবং তারপরে গন্তব্য হোস্ট পোর্টের সাথে একটি সংযোগ ফরোয়ার্ড করুন R পোর্ট ফরোয়ার্ডিং পুনরায় উল্লেখ করুন। - সার্ভার হোস্ট থেকে ক্লায়েন্ট হোস্ট এবং তারপরে গন্তব্য হোস্ট পোর্টে একটি পোর্ট ফরওয়ার্ড করুন D ডায়নামিক পোর্ট ফরওয়ার্ডিং। - SOCKS প্রক্সি সার্ভার তৈরি করে যা বিভিন্ন পোর্টের মধ্যে যোগাযোগের অনুমতি দেয়।

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

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

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

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

স্থানীয় পোর্ট ফরওয়ার্ডিং বেশিরভাগ অভ্যন্তরীণ নেটওয়ার্ক যেমন একটি ডাটাবেস বা ভিএনসি সার্ভারের সাথে একটি দূরবর্তী পরিষেবাতে সংযোগ করতে ব্যবহৃত হয়।

লিনাক্সে, স্থানীয় পোর্ট ফরওয়ার্ডিং তৈরি করতে ম্যাকোস এবং অন্যান্য ইউনিক্স সিস্টেমগুলি ssh ক্লায়েন্টকে -L বিকল্পটি পাস করে:

ssh -L LOCAL_PORT:DESTINATION:DESTINATION_PORT SSH_SERVER

ব্যবহৃত বিকল্পগুলি নিম্নরূপ:

  • LOCAL_PORT - স্থানীয় মেশিন আইপি এবং পোর্ট নম্বর। LOCAL_IP যখন LOCAL_IP ssh ক্লায়েন্টের LOCAL_IP বাদ দেওয়া হয়। DESTINATION:DESTINATION_PORT - আইপি বা হোস্টনাম এবং গন্তব্য মেশিনের বন্দর। SERVER_IP - দূরবর্তী এসএসএইচ ব্যবহারকারী এবং সার্ভারের আইপি ঠিকানা।

আপনি LOCAL_PORT হিসাবে 1024 চেয়ে বেশি পোর্ট নম্বর ব্যবহার করতে পারেন। 1024 এর কম সংখ্যক বন্দরগুলি 1024 বন্দরসমূহ এবং কেবল রুট দ্বারা ব্যবহার করা যেতে পারে। যদি আপনার এসএসএইচ সার্ভারটি 22 (ডিফল্ট) ব্যতীত অন্য কোনও পোর্টে শুনছে তবে -p বিকল্পটি ব্যবহার করুন।

গন্তব্য হোস্টনামটি অবশ্যই এসএসএইচ সার্ভার থেকে সমাধানযোগ্য হবে।

ধরা যাক যে আপনার কাছে একটি মাইএসকিউএল ডাটাবেস সার্ভার চলছে অভ্যন্তরীণ (প্রাইভেট) নেটওয়ার্কে মেশিন db001.host চলমান, 3306 পোর্টে যা মেশিন pub001.host থেকে অ্যাক্সেসযোগ্য এবং আপনি আপনার স্থানীয় মেশিন pub001.host ক্লায়েন্টকে ডাটাবেস সার্ভারের সাথে সংযুক্ত করতে চান। এটি করার জন্য আপনি সংযোগটি ফরোয়ার্ড করতে পারেন:

ssh -L 3336:db001.host:3306 [email protected]

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

এখন আপনি যদি আপনার স্থানীয় মেশিন ডাটাবেস ক্লায়েন্টকে 127.0.0.1:3336 তবে সংযোগটি db001.host:3306 মাইএসকিউএল সার্ভারে pub001.host মেশিনের মাধ্যমে ফরোয়ার্ড করা হবে যা অন্তর্বর্তী সার্ভার হিসাবে কাজ করবে।

আপনি একক ssh কমান্ডে একাধিক পোর্ট একাধিক গন্তব্যে ফরোয়ার্ড করতে পারেন। উদাহরণস্বরূপ, আপনার কাছে অন্য একটি মাইএসকিউএল ডাটাবেস সার্ভার রয়েছে যন্ত্রে db002.host মেশিনে db002.host এবং আপনি যে স্থানীয় ক্লায়েন্টটি চালাবেন তা থেকে উভয় সার্ভারের সাথে সংযোগ স্থাপন করতে চান:

ssh -L 3336:db001.host:3306 3337:db002.host:3306 [email protected]

দ্বিতীয় সার্ভারে সংযোগ রাখতে আপনি 127.0.0.1:3337 ব্যবহার করবেন।

গন্তব্য হোস্টটি এসএসএইচ সার্ভারের সমান হলে গন্তব্য হোস্ট আইপি বা হোস্টনেম নির্দিষ্ট করার পরিবর্তে আপনি localhost ব্যবহার করতে পারেন।

বলুন আপনাকে ভিএনসির মাধ্যমে একটি রিমোট মেশিনে সংযোগ স্থাপন করতে হবে যা একই সার্ভারে চলে এবং এটি বাইরে থেকে অ্যাক্সেসযোগ্য নয়। আপনি যে আদেশটি ব্যবহার করবেন তা হ'ল:

ssh -L 5901:127.0.0.1:5901 -N -f [email protected]

-f বিকল্পটি ssh কমান্ডকে পটভূমিতে চালিত হতে এবং -N দূরবর্তী কমান্ডটি চালিত না করতে বলে। আমরা localhost ব্যবহার করছি কারণ ভিএনসি এবং এসএসএইচ সার্ভার একই হোস্টে চলছে।

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

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

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

লিনাক্সে, ম্যাকোস এবং অন্যান্য ইউনিক্স সিস্টেমে রিমোট পোর্ট ফরওয়ার্ডিং তৈরি করতে ssh ক্লায়েন্টকে -R বিকল্পটি পাস করে:

ssh -R REMOTE_PORT:DESTINATION:DESTINATION_PORT SSH_SERVER

ব্যবহৃত বিকল্পগুলি নিম্নরূপ:

  • REMOTE_PORT - দূরবর্তী এসএসএইচ সার্ভারে আইপি এবং পোর্ট নম্বর। একটি খালি REMOTE অর্থ দূরবর্তী এসএসএইচ সার্ভারটি সমস্ত ইন্টারফেসে আবদ্ধ হবে। DESTINATION:DESTINATION_PORT - আইপি বা হোস্টনাম এবং গন্তব্য মেশিনের বন্দর। SERVER_IP - দূরবর্তী এসএসএইচ ব্যবহারকারী এবং সার্ভারের আইপি ঠিকানা।

স্থানীয় পোর্ট ফরওয়ার্ডিং বেশিরভাগ বাইরে থেকে কারও কাছে অভ্যন্তরীণ পরিষেবায় অ্যাক্সেস দেওয়ার জন্য ব্যবহৃত হয়।

ধরা যাক আপনি আপনার স্থানীয় মেশিনে একটি ওয়েব অ্যাপ্লিকেশন বিকাশ করছেন এবং আপনি আপনার সহযোগী বিকাশকারীকে একটি পূর্বরূপ প্রদর্শন করতে চান want আপনার কোনও সার্বজনীন আইপি নেই তাই অন্য বিকাশকারী ইন্টারনেটের মাধ্যমে অ্যাপ্লিকেশনটি অ্যাক্সেস করতে পারবেন না।

ssh -L 8080:127.0.0.1:3000 -N -f [email protected]

উপরের কমান্ডটি 8080 বন্দরটি শুনতে ssh সার্ভার তৈরি করবে এবং এই বন্দর থেকে আপনার স্থানীয় মেশিনে 3000 বন্দরে সমস্ত ট্র্যাফিক সুড়ঙ্গ করবে।

এখন আপনার সহযোগী বিকাশকারী তার ব্রাউজারে the_ssh_server_ip:8080 টাইপ করতে পারেন এবং আপনার দুর্দান্ত অ্যাপ্লিকেশনটির পূর্বরূপ দেখতে পারেন।

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

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

এইভাবে, SOCKS প্রক্সি ব্যবহার করে সমস্ত অ্যাপ্লিকেশনগুলি এসএসএইচ সার্ভারের সাথে সংযুক্ত হবে এবং সার্ভারটি সমস্ত ট্র্যাফিককে তার প্রকৃত গন্তব্যে ফরোয়ার্ড করবে।

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

ssh -D LOCAL_PORT SSH_SERVER

ব্যবহৃত বিকল্পগুলি নিম্নরূপ:

  • LOCAL_PORT - স্থানীয় মেশিন আইপি এবং পোর্ট নম্বর। LOCAL_IP যখন LOCAL_IP ssh ক্লায়েন্টের LOCAL_IP বাদ দেওয়া হয়। SERVER_IP - দূরবর্তী এসএসএইচ ব্যবহারকারী এবং সার্ভারের আইপি ঠিকানা।

ডায়নামিক পোর্ট ফরওয়ার্ডিং এর একটি সাধারণ উদাহরণ একটি এসএসএইচ সার্ভারের মাধ্যমে ওয়েব ব্রাউজার ট্র্যাফিককে সুড়ঙ্গ করা।

নিম্নলিখিত কমান্ডটি 9090 পোর্টে একটি SOCKS টানেল তৈরি করবে:

ssh -D 9090 -N -f [email protected]

একবার টানেলিংটি ইনস্টল হয়ে গেলে আপনি এটি প্রয়োগ করতে আপনার অ্যাপ্লিকেশনটি কনফিগার করতে পারেন। এই নিবন্ধটি ব্যাখ্যা করে যে কীভাবে ফসফক্স এবং গুগল ক্রোম ব্রাউজারকে এসসকেএসএস প্রক্সি ব্যবহার করতে কনফিগার করতে হয়।

আপনি যে ট্র্যাফিকটিকে ভেবে দেখে সুরক্ষিত করতে চান সেই প্রতিটি অ্যাপ্লিকেশনের জন্য পোর্ট ফরওয়ার্ডিং আলাদাভাবে কনফিগার করতে হবে।

উইন্ডোজে এসএসএইচ টানেলিং সেট আপ করুন

উইন্ডোজ ব্যবহারকারীরা পুটিটি এসএসএইচ ক্লায়েন্ট ব্যবহার করে এসএসএইচ টানেল তৈরি করতে পারেন। আপনি এখানে পুটি ডাউনলোড করতে পারেন।

  1. পুট্টি চালু করুন এবং Host name (or IP address) ক্ষেত্রে এসএসএইচ সার্ভারের আইপি ঠিকানা লিখুন।

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

    সর্বজনীন কী প্রমাণীকরণ সেট আপ করা আপনাকে পাসওয়ার্ড প্রবেশ না করেই আপনার সার্ভারের সাথে সংযোগ স্থাপনের অনুমতি দেবে।

উপসংহার

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

ssh সুরক্ষা