প্রক্সিকমন্ড ব্যবহার করে একাধিক হোস্টের মাধ্যমে এসএসএইচ?


11

বাড়িতে আমার কম্পিউটারে আমার entry / .ssh / config এ একটি প্রবেশ রয়েছে যা দেখতে দেখতে এটি দেখতে:

host foo bar
    ProxyCommand ssh -x -a -q gateway.example.com nc %h 22

gateway.example.comকর্মক্ষেত্রে এমন একটি সার্ভার যেখানে সর্বজনীন ইন্টারনেট এবং একটি অভ্যন্তরীণ নেটওয়ার্ক উভয়ের সাথে সংযুক্ত রয়েছে। গেটওয়ে বাক্সটি / ইত্যাদি / হোস্টগুলিতে এন্ট্রি ব্যবহার করে ফু এবং বার সমাধান করে।

আমার সমস্যাটি হ'ল আমার অন্যদিকে থাকা একটি বাক্সে পৌঁছানো দরকার foo। একে "বাজ" বলি call "বাজ" হোস্টটি অন্য একটি বেসরকারী নেটওয়ার্কে রয়েছে যা ফু সাথে সংযুক্ত রয়েছে, তবে "গেটওয়ে" এর সাথে সংযুক্ত নেই এমনটি নয়।

আমি এটি ব্যবহার করার চেষ্টা করেছি:

host baz
    ProxyCommand ssh -x -a -q gateway/example.com ssh foo nc %h 22

তবে এটি কাজ করে না, এবং আমি আমার গভীরতা থেকে একটু দূরে। আমি এটা কিভাবে করবো?

আমি মনে করি না এটির বিষয়টি হওয়া উচিত, তবে আমি এটি উবুন্টু 10-এ করছি।

উত্তর:


13

সহজ।

নিম্নলিখিত নেটওয়ার্ক সেটআপ ধরে নিন:

উদাহরণস্বরূপ নেটওয়ার্ক সেটআপ

আপনার এমন looks / .ssh / কনফিগারেশন ফাইলটি ব্যবহার করতে সক্ষম হওয়া উচিত:

host foo bar
    ProxyCommand ssh -x -a -q gateway.example.com nc %h 22

host baz
    ProxyCommand ssh -x -a -q foo nc %h 22

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

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

স্পষ্ট?


13

Ghoti এর উত্তর সংক্রান্ত: তার জন্যে netcat (ব্যবহারের "ssh ... nc %h 22"), OpenSSH- র 5.4 দিয়ে শুরু, আপনি এই সরাসরি করতে পারেন: "ssh -W %h:22 ..."। এইভাবে, নেটক্যাটটি সঠিক জায়গায় ইনস্টল করা আছে কিনা তা নিয়ে আপনাকে চিন্তা করতে হবে না।


1
দুর্দান্ত পয়েন্ট, ধন্যবাদ। এটি একটি পুরানো প্রশ্ন, তবে আমি আরও পরিষ্কার করে বলতে পারি যে আমি যখন আমার ওয়ার্কস্টেশনে উবুন্টু চালাচ্ছিলাম, তখন সার্ভার "গেটওয়ে" ওপেনএসএসএইচ 5.3 সহ একটি পুরাতন ব্যাসবাক্স লিনাক্স ছিল এবং সার্ভারগুলি "ফু" এবং "বাজ" ছিল ফ্রিবিএসডি (ওপেনএসএসএইচ 5.4)। সুতরাং যাইহোক আমার কমপক্ষে একটি নেটক্যাট লাগবে।
গ্রাহাম

@ গ্রাহাম নং এটি কাজের জন্য কেবল ক্লায়েন্টের 5.4 বা তার বেশি হওয়া দরকার -W। এটি সার্ভার সাইডে পোর্ট ফরওয়ার্ডিং কোডের উপর নির্ভর করে যা অনেক বেশি পুরানো।
ক্যাস্পারড

1

আপনার স্থানীয় কম্পিউটারে সঞ্চিত ব্যক্তিগত কীগুলি ব্যবহার করে, ব্যক্তিগত কী-প্যাথগুলি, শেল ব্যবহারকারীর নাম এবং হোস্ট-নেম / আইপি ঠিকানাগুলি আপনার স্থানীয়-> গেটওয়ে-> গন্তব্যস্থলের ssh প্রয়োজনে পরিবর্তিত করে এই কমান্ডটি প্রবেশ করুন।

নোট করুন যে কোনও গেটওয়ে / জাম্পারবক্সটি হাইজ্যাক করা হলে প্রাইসক্যামন্ডকে প্রাইভেট কী প্রমাণীকরণের সাথে আপস করার ঝুঁকি হ্রাস করার জন্য প্রাইভেট কী প্রমাণীকরণের (গেটওয়ে এবং স্থানীয় এসএসএল এজেন্ট সংযোগটি ব্যবহার করে আরও হোস্টের কাছে প্রাইভেট কী রয়েছে যেন) কমানোর জন্য অগ্রাধিকার দেওয়া হয়।

একটি সার্ভারে প্রক্সী এসএসএইচ করার একক কমান্ড (স্থানীয় কম্পিউটারে উভয় ব্যক্তিগত কী রাখুন):

sudo ssh -i dest_private_key.pem -o "ProxyCommand ssh -W %h:%p -i gate_private_key.pem gate_user@gate_IP" dest_user@dest_IP 

0

ইন্টারনেটে সুরক্ষিত নেটওয়ার্ক থেকে বেরিয়ে আসার জন্য আমি এটিই করি।

আমি বিল্ডে কোড সহ কাজ করতে আমার ল্যাপটপটি ব্যবহার করছি । যেহেতু বিল্ড ইন্টারনেট-অ্যাক্সেস থেকে সীমিত থাকবে, github.com থেকে রেপো আমি প্রথম মধ্যে তিড়িং লাফ প্রয়োজন ক্লোন করতে, টুলবক্স , যা ইন্টারনেট-অ্যাক্সেস নেই পারেন। তবে এটি gw অ্যাক্সেস করতে পারে , যার ইন্টারনেট রয়েছে।

এটার মত:

এসএসএইচ জাম্পিং স্কিম্যাটিক

আমার .ssh/configউপর বিল্ড :

Host gw
  ProxyCommand ssh -A -W %h:%p toolbox

Host github.com
  ProxyCommand ssh -A -W %h:%p gw

ব্যাখ্যা।

  1. পয়েন্ট অফ ভিউটি বিল্ড থেকে । অন্যান্য সার্ভারগুলিতে কোনও কনফিগারেশন নেই।
  2. প্রথমত, আমি ঘোষণা করি, জিডব্লিউ পাওয়ার জন্য আপনাকে টুলবক্সের মাধ্যমে এটি করা দরকার ।
  3. দ্বিতীয়ত, আমি ঘোষণা, যে পেতে github.com , আপনাকে যা করতে হবে যে মাধ্যমে প্রয়োজন GW । অভ্যন্তরীণভাবে এসএসএইচ আগের নিয়মটি ব্যবহার করে।
  4. শেষ পর্যন্ত, git clone git@github.com:aRepo/Thereকেবল কাজ করে!

স্পষ্ট?

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