কীভাবে আমি এসএসএইচ এর মাধ্যমে আমার সমস্ত নেটওয়ার্ক ট্র্যাফিকটি সুড়ঙ্গ করতে পারি?


115

আমি যখনই কোনও সুরক্ষিত অবস্থান থেকে ইন্টারনেট ব্যবহার করছি (যেমন পাবলিক ওয়াইফাই) আমি ssh -D port hostআমার ট্র্যাফিক কমিয়ে দিতে না পারার জন্য একটি এসএস টানেল ( ) ব্যবহার করতে চাই । দুর্ভাগ্যক্রমে, অনেকগুলি অ্যাপ্লিকেশন রয়েছে যা প্রক্সি নির্দিষ্ট করার উপায় সরবরাহ করে না (ফ্ল্যাশ একটি বড় উদাহরণ)।

আমার কম্পিউটার থেকে সমস্ত নেটওয়ার্ক ট্র্যাফিকের জন্য কোনও সুড়ঙ্গ ব্যবহার করার কিছু উপায় থাকা উচিত বলে মনে হয় তবে এটি কীভাবে করবেন তা সম্পর্কে আমি সম্পূর্ণ অজ্ঞ। কোন সাহায্যের ব্যাপকভাবে প্রশংসা হবে।


16
অবশ্যই আপনি আপনার সমস্ত ট্র্যাফিককে এসএসএসের মাধ্যমে আক্ষরিকভাবে টানেল করতে পারবেন না, কারণ এর অর্থ হবে নিজেরাই টানেলিংয়ের মাধ্যমে টানেলিং, তবে আমরা কী জানাতে চাইছিলাম তা আমরা জানতাম। :)
CarlF

1
এটি একটি ভাল ধারণা তবে আপনি কেবল আপনার কম্পিউটার এবং আপনার এসএসএস শেষ পয়েন্টের মধ্যে সুরক্ষিত। এর পরে, আপনার ট্র্যাফিক পরিষ্কার হয় (অন্যথায় সুরক্ষিত না করে, যেমন SSL)। মঞ্জুর করা হয়েছে, এটি তারের ওপরে যাওয়ার সম্ভাবনা অনেক বেশি, তবে এখনও ... আপনি নিয়ন্ত্রণে না এমন তারগুলিকে আপনি সত্যিই বিশ্বাস করতে পারবেন না।
কোয়াকোট কোয়েসোট

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

উত্তর:


59

কি আপনি অনুপস্থিত আছে কাজের জন্য, আমি সুপারিশ sshuttle

আপনি এটি এর মতো ব্যবহার করুন:

./sshuttle -r username@sshserver 0.0.0.0/0 -vv

এটি আপনার জন্য সমস্ত টিসিপি ট্র্যাফিক স্বয়ংক্রিয়ভাবে সুড়ঙ্গ করবে। আপনি যোগ করতে পারেন --dnsএটা সুড়ঙ্গ আপনার DNS ট্রাফিক পাশাপাশি আছে যুক্তি। রিমোট সার্ভারে কেবল পাইথন ইনস্টল করা দরকার।

আপনি যদি কেবলমাত্র নির্দিষ্ট প্রোগ্রামগুলি টানেল করতে চান তবে আমি প্রক্সিচেইনগুলির পরামর্শ দেব

এটি ইনস্টল হয়ে গেলে আপনার ssh মোজা প্রক্সিটি এভাবে শুরু করুন:

ssh -fND 127.0.0.1:<local port> username@sshserver

এটি <লোকাল পোর্ট> এ একটি "SOCKS" প্রক্সি শ্রবণ শুরু করবে।

তারপরে <etc/proxychains.conf সম্পাদনা করুন <লোকাল পোর্ট> হিসাবে একই পোর্টে নির্দেশ করুন।

অবশেষে আপনার প্রোগ্রামটি শুরু করুন যা আপনি এর মতো প্রক্সি-এড চান:

proxychains <program name>

এটা ঠিক কাজ করা উচিত। তবে কয়েকটি প্রোগ্রামের প্রক্সি চেইনগুলির সাথে কাজ করতে সমস্যা হবে। এছাড়াও মনে রাখবেন, ফায়ারফক্সের সাহায্যে আপনাকে প্রায়: কনফিগারারের অধীনে অতিরিক্ত আইটেমগুলি পরিবর্তন করতে হবে যাতে এটিকে বাইপাস না করে প্রক্সি দিয়ে ডিএনএস লুক্কুট করতে বাধ্য করে।

ওয়েব ব্রাউজারগুলিতে একটি অতিরিক্ত নোট হিসাবে। যদি তারা মোজা প্রক্সিগুলি সমর্থন করে তবে উপরে বর্ণিত, এসএসএস টানেলটি ব্যবহারের জন্য আপনাকে অতিরিক্ত কিছু করার প্রয়োজন নেই, কেবল সোকস প্রক্সি সার্ভারের জন্য 127.0.0.1 এবং প্রক্সি বন্দরের জন্য <স্থানীয় পোর্ট> লিখুন।

সম্পাদনা 3/29/16

যেহেতু এই পোস্টটি এখনও কিছু উত্স দেখতে পাচ্ছে তাই আমি ভেবেছিলাম এটি আপডেট করব। প্রক্সিচেইনগুলি এখনও বেশিরভাগ লিনাক্সের রেপোতে রয়েছে এবং এখনও লিনাক্সে কাজ করে। তবে, প্রকল্পটি কার্যকরভাবে পরিত্যক্ত এবং ওএসএক্সে কাজ করে না। লিনাক্স বা ওএসএক্স উভয়ের জন্য, আমি স্থির-রক্ষণাবেক্ষণ করা কাঁটাচামচ: প্রক্সিচেইনস-এনজি: https://github.com/rofl0r/proxychains-ng উন্নীত করার সুপারিশ করছি

লিনাক্স এবং ওএসএক্স উভয় ক্ষেত্রেই কাজ করার পাশাপাশি, এটি সংকলন করা সহজ, এবং ডিএনএস টানেলিংয়ের জন্য আরও ভাল সমর্থন রয়েছে।

আমার আরও একটি বিকল্প উল্লেখ করা উচিত, যা রেডসকস। এটি প্রক্সিচেইনগুলির সাথে একইভাবে কাজ করে (-ng) এবং এটি সম্ভবত আপনার ডিস্ট রেপোতেও রয়েছে: https://github.com/darkk/redsocks


শাটল ব্যবহার করে নতুন লিনাক্স সিস্টেমগুলির জন্য নোট: লেখার সময় একটি কার্নেল বাগ রয়েছে যা আপনাকে ভাঙ্গা পাইপ দেবে। sshuttle -r root@host -x host 0/0
সামগ্রিক 1166877

49

man sshঠিক এই উদাহরণ দেয়। একটি এসএসএস ভিত্তিক ভিপিএন:

SSH-BASED VIRTUAL PRIVATE NETWORKS
     ssh contains support for Virtual Private Network (VPN) tunnelling using
     the tun(4) network pseudo-device, allowing two networks to be joined
     securely.  The sshd_config(5) configuration option PermitTunnel controls
     whether the server supports this, and at what level (layer 2 or 3 traf-
     fic).

     The following example would connect client network 10.0.50.0/24 with
     remote network 10.0.99.0/24, provided that the SSH server running on the
     gateway to the remote network, at 192.168.1.15, allows it:

       # ssh -f -w 0:1 192.168.1.15 true
       # ifconfig tun0 10.0.50.1 10.0.99.1 netmask 255.255.255.252

~~ স্নিপ ~~

     Since a SSH-based setup entails a fair amount of overhead, it may be more
     suited to temporary setups, such as for wireless VPNs.  More permanent
     VPNs are better provided by tools such as ipsecctl(8) and isakmpd(8).

আপনি যখন নতুন ইন্টারফেসটি শেষ করে ফেলেন, আপনাকে কেবল এটির ডিফল্ট রুট তৈরি করতে হবে, এটি একটি আলাদা প্রশ্ন।


1
আপনি কি আরও কিছু ব্যাখ্যা করতে পারেন? Ifconfig কমান্ড টিউন0 নামে একটি নতুন ইন্টারফেস তৈরি করে, তাই না? অথবা টিউন এসএস দ্বারা তৈরি করা হয়েছে এবং কেবল আরও ifconfig দ্বারা কনফিগার করা হয়েছে? প্রশ্নটির সাথে প্রাসঙ্গিক উদাহরণ যুক্ত করতে পারেন?
কেউই নেই

6

Ssh এ "টানেল" বিকল্পটি সন্ধান করুন। এটি এমন একটি টানেল ডিভাইস তৈরি করে যা আপনি কোনও আইপি ঠিকানা বরাদ্দ করতে পারবেন এবং তারপরে আপনি সেই টানেলটি ব্যবহারের জন্য ডিফল্ট রুট পরিবর্তন করেন।


4

আমি এমন একটি সফ্টওয়্যার তৈরি করেছি যা আপনাকে সমস্ত টিসিপি এবং optionচ্ছিকভাবে ইউডিপিকে SOCKS5 প্রক্সি, সিস্টেম-ভিত্তিক ফরোয়ার্ড করতে দেয়।

http://code.google.com/p/badvpn/wiki/tun2socks

এমনকি ল্যানে কম্পিউটার থেকে সমস্ত সংযোগ ফরোয়ার্ড করতে রাউটারে এটি ইনস্টল করা যেতে পারে।


0

এসএসএইচ বেসড ভার্চুয়াল প্রাইভেট নেটওয়র্কস এসএসএসে ভার্চুয়াল প্রাইভেট নেটওয়ার্ক (ভিপিএন) টানেল (4) নেটওয়ার্ক সিউডো-ডিভাইসটি ব্যবহার করে সুরক্ষার জন্য সমর্থন রয়েছে, যাতে দুটি নেটওয়ার্ক সুরক্ষিতভাবে যুক্ত হতে পারে। Sshd_config (5) কনফিগারেশন বিকল্প পারমিটটানাল সার্ভার এটি সমর্থন করে কিনা এবং কোন স্তরে (স্তর 2 বা 3 ট্রাফিক fic) নিয়ন্ত্রণ করে।

 The following example would connect client network 10.0.50.0/24 with
 remote network 10.0.99.0/24 using a point-to-point connection from
 10.1.1.1 to 10.1.1.2, provided that the SSH server running on the gateway
 to the remote network, at 192.168.1.15, allows it.

 On the client:

       # ssh -f -w 0:1 192.168.1.15 true
       # ifconfig tun0 10.1.1.1 10.1.1.2 netmask 255.255.255.252
       # route add 10.0.99.0/24 10.1.1.2

 On the server:

       # ifconfig tun1 10.1.1.2 10.1.1.1 netmask 255.255.255.252
       # route add 10.0.50.0/24 10.1.1.1

 Client access may be more finely tuned via the /root/.ssh/authorized_keys
 file (see below) and the PermitRootLogin server option.  The following
 entry would permit connections on tun(4) device 1 from user “jane” and on
 tun device 2 from user “john”, if PermitRootLogin is set to
 “forced-commands-only”:

   tunnel="1",command="sh /etc/netstart tun1" ssh-rsa ... jane
   tunnel="2",command="sh /etc/netstart tun2" ssh-rsa ... john

 Since an SSH-based setup entails a fair amount of overhead, it may be
 more suited to temporary setups, such as for wireless VPNs.  More perma‐
 nent VPNs are better provided by tools such as ipsecctl(8) and
 isakmpd(8).

1
আপনার তথ্যের জন্য একটি উত্স যোগ করুন। দ্রষ্টব্য: এটি একটি পুরানো প্রশ্ন।
লোরেঞ্জো ভন ম্যাটারহর্ন

-2

কেবল এটি পরিষ্কার করতে চেয়েছিলেন যে (এসএসএস-ডি পোর্ট হোস্ট) ট্রাফিক সঙ্কুচিত না হওয়ার জন্য 100% সুরক্ষিত উপায় নয়। সংযুক্তি (ssh -D -c ব্লোফিশ পোর্ট হোস্ট) আরও ভাল পছন্দ হবে কারণ আপনি কমপক্ষে আপনার সেশনে এনক্রিপশন যুক্ত করছেন। আপনি যুক্ত করতে পারেন এমন আরও অনেক অপশন রয়েছে তবে একটি সম্পূর্ণ তালিকার জন্য আপনার টার্মিনাল বা গুগলে কেবল "ম্যান এসএসএস" টাইপ করা যথেষ্ট সহজ।

আপনি যে বিকল্পটি সন্ধান করছেন তা হ'ল ভিপিএন (ভার্চুয়াল প্রাইভেট নেটওয়ার্ক) স্থাপন করা হচ্ছে

আপনার নিজের ভিপিএন সেট আপ করার আগে আপনি দুটি ( এসএসএইচ বনাম ভিপিএন ) বা একটি ভাল সংক্ষিপ্ত সংস্করণটির মধ্যে পার্থক্য সম্পর্কে ধারণা পেতে এই নিবন্ধটি দেখুন । আপনি যে VPN রুট আমি সুপারিশ যেতে করার সিদ্ধান্ত নেন না যদি VPN খুলুন , ডকুমেন্টেশন এবং সমর্থন তার অবাধ ও প্রচুর।


6
খারাপ পরামর্শ। "ব্লো ফিশ" একটি এসএসএইচ -1 সাইফার; এটি দ্রুত, নিরাপদ হিসাবে বিবেচিত (১৯৯৯ সালের হিসাবে: unixhelp.ed.ac.uk/CGI/man-cgi?ssh+1 ) তবে এখনও। আপনি সম্ভবত চান ssh -2 -C -D [...](এসএসএইচ 2 চাপুন, সংক্ষেপণ ব্যবহার করুন) এবং ড্রপ করুন -c। আমার সিস্টেম অনুসারে man sshএসএসএইচ 2-তে সিফার তালিকাটি ডিফল্ট হয়েছে aes128-cbc,3des-cbc,blowfish-cbc,[etc]। আমার -c blowfishবক্তব্যটি হল, আপনি যদি অনুরোধ করেন তবে আপনি এসএসএইচ 1 এর সাথে শেষ হতে পারেন যা এসএসএইচ 2 এর চেয়ে অনেক কম সুরক্ষিত।
কোয়াকোট কোয়েক্সোট

2
সত্য, তবে জেরেমির ধারণা ছিল যে সংযোগটি কেবল -8080-এর সাথে সুরক্ষিত ছিল, আমি কেবল বলেছিলাম যে তিনি যা ব্যবহার করছেন তার চেয়ে এটি ভাল। আপনি একটি বৈধ পয়েন্ট করেন এবং সে কারণেই আমি আরও বিকল্পগুলির জন্য ম্যানুয়ালটি উল্লেখ করি।
রিক্সব্যাক্স

হতে পারে আপনার উত্তরটি পরিবর্তন করা উচিত, যেহেতু এটি অন্যথায় সহায়ক।
এন্ডোলিথ

ভুলে গিয়েছি আমি এটি জিজ্ঞাসা করেছি, এই সাইটটি নিয়মিত ব্যবহার করবেন না। স্পষ্টতার জন্য ধন্যবাদ ... আমার দৃ strong় ধারণা ছিল যে এসএসএইচটি ডিফল্টরূপে সুরক্ষিত ছিল।
জেরেমি ব্যাংকগুলি

9
ডাব্লুটিএফ ডিফল্টরূপে এনক্রিপশন ব্যবহার করে এসএসএইচ নয়?
ল্যাটিনসুড

-3

এই উদাহরণগুলি ব্যবহার করুন:

  • আপনার লোকালহোস্টের রিমোট হোস্ট থেকে ৮৮৮৮-তে পোর্ট 80 ফরোয়ার্ড করুন

    ssh -fnN -L8888: লোকালহোস্ট: 80 ব্যবহারকারী @ সার্ভার

    কেবল সেখানে উপলব্ধ এমন একটি দূরবর্তী হোস্টে পরিষেবাগুলি অ্যাক্সেস করতে এটি ব্যবহার করুন

  • দূরবর্তী হোস্টে আপনারলোক্যালহস্ট থেকে ৮৮৮৮-তে পোর্ট 80 ফরোয়ার্ড করুন

    ssh -fnN -R8888: লোকালহোস্ট: 80 ব্যবহারকারী @ সার্ভার

    থার ব্যবহারকারীদের আপনার পরিষেবাগুলিতে অ্যাক্সেস করার অনুমতি দেওয়ার জন্য এটি ব্যবহার করুন: ওয়েব সার্ভার বা যা কিছু।

চিয়ার্স! :)


ভাল মন্তব্য, তবে আমরা এখানে যা বলছি তার সাথে মোটেই সম্পর্কিত নয়। বিপরীত এসএসএস কোনও সার্ভারের কাছে অনুরোধ জানাতে অনুমতি দেয় যে কোনও ক্লায়েন্ট এটিতে একটি ট্রাফিকের পোর্ট যায়। ইন্টারনেটে সেই ট্র্যাফিকটি রুট করার জন্য আরও কনফিগারেশন প্রয়োজন। আপনাকে প্রতিটি বন্দরের জন্য একটি এসএসএইচ টানেল সেটআপ করতে হবে। এবং এটি সার্ভার থেকে শুরু করতে হবে, ক্লায়েন্ট নয় - আপনি না করতে চাইলে আপনি কেন কখনও এমনটি করবেন?
বিচহাউস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.