একটি একক কমান্ডের মধ্যবর্তী মেশিনের মাধ্যমে একটি এসএসএস সংযোগটি টানেল করুন


10

কম্পিউটার সি এর মাধ্যমে কম্পিউটার সি এর সাথে আমার কম্পিউটার এ থেকে এস সি সংযোগ স্থাপনের কোনও উপায় আছে কি?

একটি বলি (যা কেবল -L বিকল্পটি ব্যবহার করে কেবল এসএসএস সংযোগটি ফরোয়ার্ড করতে অস্বীকার করে) হ'ল কম্পিউটার বি এর অ্যাকাউন্টে আমার কাছে পাসওয়ার্ড রয়েছে এবং কম্পিউটার বিতে থাকা অ্যাকাউন্টটি কম্পিউটার সিতে অ্যাকাউন্টে সংযোগ করার জন্য অনুমোদিত, তবে কম্পিউটার সি এর অ্যাকাউন্টে আমার কাছে পাসওয়ার্ড নেই


উত্তর:


8

আমি বুঝতে পেরেছি যে আপনি কেবল কম্পিউটার সিতে লগ ইন করতে চান, এ থেকে সি তে কোনও কিছুই টানেল না করে, সুতরাং এই কৌশলটি করা উচিত:

ssh -t computer-b "ssh computer-c"

আপনাকে দুবার পাসওয়ার্ড লিখতে হবে, প্রথমে কম্পিউটার বি এবং তারপরে কম্পিউটার সি এর জন্য, তবে এসএসএস-এর কী-জুটি প্রমাণীকরণ ব্যবহার করে এড়ানো যেতে পারে।


1
ধন্যবাদ - এটি কাজ করে! আমি যদি ফলো-আপ জিজ্ঞাসা করতে এত সাহসী হতে পারি। কোনও ধারণা কীভাবে আমি একটি একক কমান্ডে এ থেকে সি পর্যন্ত কোনও ফাইল স্ক্র্যাপ করতে পারি?
স্যানিটি

এটা কিছুটা কৃপণ। এটি মিশ্রণে ট্যার যুক্ত করেই করা যেতে পারে তবে এটি যদি কেবল একটি ফাইল এবং কম্পিউটার বিতে কিছুক্ষণ ধরে রাখার জন্য ডিস্কের জায়গা থাকে তবে এটি দুটি ধাপে অনুলিপি করা অনেক সহজ।
আফ।

আপনি এই তিনবার করতে পারেন! ssh -t computer-b "ssh -t computer-c 'ssh computer-d'": ডি
গাক

0

আপনি সম্ভবত এসএসএইচ এর প্রক্সিকম্যান্ড ব্যবহার করতে চান: http://benno.id.au/blog/2006/06/08/ssh_proxy_command


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

0

আপনি যদি এসএসএস কী ব্যবহার করেন তবে আপনি মেশিন বি এর জন্য একটি নতুন কী তৈরি করতে পারেন এবং এটিকে বি থেকে বিতে সংযোগ করতে ব্যবহার করতে পারেন মেশিন বি তে, আপনি যুক্ত করতে পারেন

command="ssh C" ssh-....

~/.ssh/authorized_keysফাইলের মধ্যে এর অর্থ হ'ল আপনি যখনই এই ssh কী দিয়ে বি এর সাথে সংযুক্ত হবেন তখন এটি ssh Cকমান্ডটি কার্যকর করবে ।

আমি জানি না এটি স্কিপ নিয়ে কাজ করে কিনা।


0

ব্যবহার ProxyCommand

দেখুন man ssh_config। আমি ব্যবহার করার পরামর্শ দিচ্ছি ProxyCommand। আসুন আপনার আসল দৃশ্যটি নেওয়া যাক:

  • কম্পিউটার এ (আপনার কম্পিউটার)
  • কম্পিউটার বি (একটি প্রক্সি হোস্টনাম)
  • কম্পিউটার সি (কেবলমাত্র কম্পিউটার বি থেকে এসএসএইচের মাধ্যমে পৌঁছনীয়)

~/.ssh/configনিম্নলিখিত বিষয়বস্তু দিয়ে সম্পাদনা করুন ।

Host computerb
    HostName <hostname or IP of Computer B>

Host computerc 192.168.35.*
    ProxyCommand ssh computerb nc -w 180 %h %p

এখন আপনি স্বচ্ছভাবে কম্পিউটার সি পৌঁছাতে সক্ষম হবেন উদা

ssh computerc

এই পদ্ধতির সুবিধা

আরো সুরক্ষিত

কম্পিউটার এ (আপনার কম্পিউটার) এ থাকার জন্য আপনার কেবল আপনার ব্যক্তিগত কী প্রয়োজন। ncকমান্ড একটি প্রক্সি যা SSH- র মাধ্যমে ট্রাফিক এনক্রিপ্ট করবে হিসাবে কাজ করবে। এর মধ্যে প্রমাণীকরণ অন্তর্ভুক্ত। আপনার প্রাইভেট কীটি একাধিক সার্ভারে বিতরণ করা খুব খারাপ ধারণা (আপনার ব্যক্তিগত কী সহ যে কোনও আপোম সার্ভারটি শেষ পর্যন্ত আপনার ব্যক্তিগত কীকে আপস করে) ises

একাধিক গন্তব্য মেলে

একাধিক গন্তব্য কম্পিউটার ব্যবহার করে মেলাতে পারেন Host। একটি কম্পিউটার বা নির্দিষ্ট কম্পিউটারের মধ্যে যে কোনও কম্পিউটার (উদাহরণস্বরূপ 192.168.35.0/24উপরের উদাহরণে) কম্পিউটার বি এর মাধ্যমে প্রক্সি তৈরি করতে এটি একটি উপাধি হিসাবেও কাজ করে।

ssh 192.168.35.27

উপরের উদাহরণে, এটি আইপি অ্যাড্রেসটি পাওয়ার জন্য কম্পিউটার বি এর মাধ্যমে প্রক্সি করবে।

ডেইজি চেইন প্রক্সিগুলি

এই পদ্ধতিটি ব্যবহার করে আপনি যতগুলি প্রয়োজন স্বয়ংক্রিয় প্রক্সি হিসাবে ডেইজি চেইন করতে পারেন। যেমন আপনি একটি কম্পিউটার ডি যুক্ত করতে পারেন যা কেবলমাত্র কম্পিউটার সি থেকে পৌঁছনীয় এবং এটি স্বচ্ছতার সাথে কাজ করবে will

Host computerd
    ProxyCommand ssh computerc nc -w 180 %h %p

ssh computerdউপরের ssh_configউদাহরণগুলিতে কম্পিউটার সি এবং কম্পিউটার বি এর মাধ্যমে স্বয়ংক্রিয়ভাবে প্রক্সি তৈরি হবে ।


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