কীভাবে একটি এসএসএইচ সার্ভারের মাধ্যমে একটি ফাইল ডাউনলোড করবেন?


31

আমার মার্কিন যুক্তরাষ্ট্রে একটি সার্ভার রয়েছে (লিনাক্স বক্স বি), এবং আমার হোম পিসি (লিনাক্স বাক্স এ), এবং আমার ওয়েবসাইট সি থেকে একটি ফাইল ডাউনলোড করতে হবে,

সমস্যাটি হ'ল এ থেকে সরাসরি কোনও ফাইল ডাউনলোড করা খুব ধীর, সুতরাং আমি বি লগ ইন করার সময় আমার ফাইলটি ডাউনলোড করতে হবে এবং sftpএ থেকে ফাইলটি নেওয়া উচিত

আমি কোনও ফাইলই ডাউনলোড করতে পারি এবং কেবলমাত্র একটি লাইন কমান্ডের মাধ্যমে বি প্রক্সি হিসাবে বি ব্যবহার করতে পারি?

উত্তর:


46

(অদ্ভুত পরিস্থিতি, ইন্টারনেট রাউটিংয়ের জন্য ত্রিভুজ বৈষম্যের মতো কিছু নেই ?)

যাই হোক, নিম্নলিখিত, চেষ্টা উপর একটি , sshমধ্যে বি একটি সঙ্গে -Dযুক্তি,

ssh -D 1080 address-of-B

যা SOCKS5 প্রক্সি হিসাবে কাজ করে 127.0.0.1:1080, যা SOCKS5 প্রক্সড সংযোগগুলিকে সমর্থন করে যে কোনও কিছু দ্বারা ব্যবহৃত হতে পারে। স্পষ্টতই,wget পরিবেশ ভেরিয়েবল ব্যবহার করে এটি করতে পারেন

export SOCKS_SERVER=127.0.0.1:1080
wget http://server-C/whatever

মনে রাখবেন যে কখনও কখনও curlবেশি কার্যকর (যেমন আমি wgetএসওকেএসএস 5 এর মাধ্যমে হোস্ট-নেম লুকআপ করতে পারি কিনা তা নিশ্চিত নই ; তবে আমি মনে করি এটি আপনার উদ্বেগগুলির মধ্যে একটি নয়); এছাড়াও ফায়ারফক্স এই জাতীয় SOCKS5 প্রক্সি মাধ্যমে সম্পূর্ণরূপে কাজ করতে সক্ষম।

সম্পাদনা আমি এখনই লক্ষ্য করেছি যে আপনি একটি লাইন সমাধান সন্ধান করছেন। ভাল, কিভাবে সম্পর্কে

ssh address-of-B 'wget -O - http://server-C/whatever' >> whatever

অর্থাত্ - wgetনকশা করা - আউটপুট আউটপুট stdoutপুনর্নির্দেশ, এবং স্থানীয় আউটপুট ( দূরবর্তীভাবে sshচলমান থেকে wget) একটি ফাইলে পুনর্নির্দেশ ।

এটি কাজ করে বলে মনে হচ্ছে, wgetআউটপুটটি কিছুটা বিভ্রান্তিকর ("এতে সংরক্ষণ করা "), আপনি কলটিতে যোগ করে এ -qথেকে মুক্তি পেতে পারেন wget


6
দৃশ্যত SOCKS_SERVERপরিবেশ পরিবর্তনশীল উবুন্টু 14.04 এর উপর কোনও প্রভাব ফেলবে না।
ক্যাস্পারড

4
মতে এই অন্য উত্তর , wgetকোন সমর্থন আছে SOCKS_SERVERপরিবর্তনশীল। এই উত্তরটি ব্যবহার প্রস্তাব দেওয়া curl --socks5-hostnameবা curl --socks5
ডেনিলসন সা মিয়া

@ ক্যাস্পার্ড, সুতরাং, এটি কি কেবল উবুন্টু যেখানে এটি কাজ করে না, বা ভেরিয়েবলটি উইজেটের সাথে মোটেই সম্পর্কিত নয়? এটি প্রদর্শিত হয় socksifyপরিবর্তে পরিবর্তে হতে পারে ।
সিএনএসটি

@cnst আমি কোনও প্রমাণ দেখিনি যে উইজেটের কোনও সংস্করণে মোজা সমর্থন করে। socksifyসেটিংস নয়, এটি একটি পৃথক প্রোগ্রাম।
ক্যাস্পার্ড

সুতরাং, মূলত, আপনি যদি SOCKS_SERVERকোনও প্রভাব রাখতে চান wgetতবে আপনাকে পোর্টস.সু / সুরক্ষা / স্প্যান্ট ইনস্টল করতে হবে এবং তারপরে socksify wgetঠিক wget
চালাবেন

3

অন্য পদ্ধতির হতে পারে আপনি সাধারণত লগ ইন করেন Bযেখানে আপনি একটি screenসেশন শুরু করেন । সেখানে আপনি wgetনিজের ফাইলগুলি করেন - সবগুলি একটি ডিরেক্টরিতে।

এবং সেখানে প্রোগ্রামটি সুখে চলতে পারে; আপনি কেবল পর্দা থেকে বিচ্ছিন্ন, কিন্তু এটি পটভূমিতে চালানো যাক।

ডাউনলোডসমূহ সমাপ্ত হয় (এমনকি তার আগে), আপনি তথ্য থেকে fech করতে Bকরতে Aব্যবহার rsync(আমার পক্ষপাত)।


2

অন্য প্রশ্নের অন্য উত্তরে অনুপ্রাণিত হয়ে আমি প্রক্সিচেইনস-এনজি (যা প্রক্সিচেইনের নতুন সংস্করণ ) ব্যবহার করার পরামর্শ দিচ্ছি ।

  1. ডাউনলোড, সংকলন এবং বিকল্পভাবে প্রক্সিচেইনস-এনজি ইনস্টল করুন ।
  2. proxychains.confবর্তমান ডিরেক্টরিতে, অথবা এ ~/.proxychains/proxychains.confবা এ- তে একটি ফাইল তৈরি করুন /etc/proxychains.conf
    • বিকল্পভাবে, অন্য যে কোনও জায়গায় বা অন্য নামের সাথে একটি ফাইল তৈরি করুন এবং -fকমান্ড-লাইন আর্গুমেন্টের মাধ্যমে, বা PROXYCHAINS_CONF_FILEপরিবেশের ভেরিয়েবলের মাধ্যমে নির্দিষ্ট করুন।
    • একটি নমুনা কনফিগারেশন ফাইল উপলব্ধ। সর্বাধিক প্রাসঙ্গিক বিকল্পগুলি একেবারে শেষে।
  3. আপনার proxychains.confফাইলে, যুক্ত করুন:

    [ProxyList]
    socks5 127.0.0.1 1234
    
  4. চালান ssh -D 1234 your_host_b। এটি ssh লোকালহোস্টে 1234 পোর্টে শুনবে এবং আপনার দূরবর্তী হোস্টকে SOCKS প্রক্সি হিসাবে ব্যবহার করবে।

    • বিকল্পভাবে, ssh -ND 1234 your_host_bপরিবর্তে চালান । -Nদূরবর্তী সার্ভারে কোনও কমান্ড চালানো থেকে এসএসএসকে আটকাবে (যেমন এটি শেলটি খুলবে না)।
  5. চালান: proxychains4 yourcommandhere yourparametershere। কিছু উদাহরণ দেখুন:
    • proxychains4 wget -O - http://ifconfig.co/
    • proxychains4 -q links http://ifconfig.co/

2

বিকল্প 0:

অর্ডার ব্যবহার করার জন্য wgetথেকে একটি SOCKS5 প্রক্সি দিয়ে ssh, আপনি ইনস্টল করতে হবে security/danteযাতে ব্যবহার করতে আপনাকে অবশ্যই প্যাকেজ SOCKS_SERVERসঙ্গে বিকল্প socksifyইউটিলিটি।

sudo pkg_add dante

পরবর্তীকালে, আপনি ব্যাকগ্রাউন্ডে একটি এসএসএইচ সংযোগটি খুলুন:

ssh -N -C -D1080 user@hostB &

এবং সোসকিএস 5 প্রক্সি দিয়ে সোকেসফাইয়ের মাধ্যমে উইজেট ব্যবহার করুন:

env SOCKS_SERVER=127.0.0.1:1080 socksify wget http://website-C

বিকল্প 1:

stdoutসার্ভারে কেবল ফাইলটি পাইপ করুন এবং এটি stdinআপনার ওয়ার্কস্টেশন থেকে পড়ুন ।

ssh -C user@hostB "wget -O- http://website-C" >> file-from-website-C

1

আপনি বক্স এ থেকে বাক্স বি তে একটি এসএস টানেল করতে পারেন এবং বক্স এ-এর রাউটিং টেবিলটিতে যুক্ত করতে পারেন, সেই ওয়েবসাইট সিটি টানেলের মাধ্যমে বি বিতে পৌঁছতে পারে, আপনাকে বাক্স বিতে প্যাকেট ফরওয়ার্ডিংয়ের অনুমতি দিতে হবে have

এখানে আপনি একটি খুব ভাল ধাপে ধাপে টিউটোরিয়াল দেখতে পারেন ...


1

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

আমি কোনও অনৈনিককে জানি না, তবে এটি আরও জটিল নয় isn't

মেশিন এ তে, আপনি করুন (আমি 11111 এলোমেলোভাবে নিয়েছি, আপনি যতক্ষণ চাই> 1024 অবধি নিতে পারেন, বা আপনার রুট হওয়া দরকার)

ssh -f -C -N -L 11111:C:80 username@B

বি-তে সংযোগ স্থাপনের জন্য আপনি বি-র ব্যবহারকারীর নামটি হ'ল এটি মেশিন বিতে 11111 বন্দরটিতে একটি সুড়ঙ্গ তৈরি করা উচিত যা মেশিন সিতে 80 টি পোর্টে পুনঃনির্দেশ করা হবে (HTTP তে ওয়েব সাইট 443 ব্যবহার করে HTTPS ব্যবহার করবে) আমি আশা করি আমি জগাখিচুড়ি করি নি hope ক্রম ;) )

তারপরে আপনি মেশিন বি এর মাধ্যমে সরাসরি মেশিন এ থেকে ফাইলটি ডাউনলোড করতে পারেন আমি ধরে নিচ্ছি যে ফাইলটি এখন http://C/path/to/fileতাই আপনি ব্যবহার করবেন:

wget http://B:11111/path/to/file

এইচটিটিপি 1.1 নাম ভিত্তিক ভার্চুয়াল হোস্টিং ব্যতীত যদি ফাইলটি অ্যাক্সেসযোগ্য হয় তবে এটি কাজ করবে না? যেহেতু উইজেট দ্বারা জেট করা জিইটি অনুরোধটি হোস্টের নাম সি হিসাবে নয়, বি হিসাবে উল্লেখ করবে
একটি সিভিএন

@ মাইকেলKjörling আপনার উত্তর দেওয়ার মতো পর্যাপ্ত জ্ঞান আমার নেই।
হিউজেন্স

1

আপনি পোর্ট ফরওয়ার্ডিং (এসএসএস টানেলিং) এর মাধ্যমে এটি করতে পারেন। এখানে একটি সংস্থান রয়েছে: http://www.jfranken.de/homepages/johannes/vortraege/ssh2_inhalt.en.html#ToC9

মূলত, আপনার বিতে পোর্ট ফরওয়ার্ডিং সেটআপ করা উচিত, যখন কোনও বি বিতে উইজেট দেয়, বি প্যাকেটগুলি সি-তে প্রেরণ করবে এবং ফলাফলগুলি এ-তে প্রেরণ করবে sen

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