3 য় মেশিনে টানেল করতে ssh কনফিগারেশন ফাইল সেটিংস সংশোধন করুন


20

আমি একটি ব্রিজ সার্ভারের মাধ্যমে একটি সার্ভারে টানেল দেওয়ার চেষ্টা করছি। এখনও অবধি, আমি নিম্নলিখিত কমান্ডটি ব্যবহার করে কমান্ড শেল থেকে এটি সঠিকভাবে কাজ করতে সক্ষম হয়েছি:

ssh -A -t bridge_userid@bridgemachine.com ssh -A remote_userid@remoteserver.com

তবে আমি এটিকে আমার ~/.ssh/configফাইলটিতে মোড়ানোর চেষ্টা করছি এবং আমার সমস্যা আছে। আমি চেষ্টা করেছিলাম:

Host axp
  User          remote_userid
  HostName      remoteserver.com
  IdentityFile  ~/.ssh/id_rsa.eric
  ProxyCommand ssh -A -t bridge_userid@bridge_userid.com ssh -A remote_userid@%h

তবে আমি যখন করি তখন আমি নিম্নলিখিত ত্রুটি বার্তাটি remoteserver.comপাই এবং আমি নিশ্চিত না যে এটি কী কারণে ঘটছে:

ksh: SSH-2.0-OpenSSH_6.8 ^ M: পাওয়া যায় নি

আমি জানি যে আমি যখন লগ ইন করি তখন remoteserver.comআমার শেলটি /usr/bin/ksh

আমি কনফিগার ফাইলে ssh কমান্ডগুলিতে পাথ আর্গুমেন্ট যুক্ত করার চেষ্টা করেছি, তবে এতে কোনও পার্থক্য হয়নি।

কোন ধারণা কি হতে পারে?


এটি ঠিক কীভাবে ProxyCommandব্যবহার করা হচ্ছে তা নয় । সাধারণত এটি নেটকাটের সাথে ব্যবহৃত হয় যেখানে এসএসএস এর মাধ্যমে তার আউটপুটটি পাইপ করছে এবং নেটক্যাটটি রিমোটসার্ভার এসএসএইচ বন্দরের সুড়ঙ্গ হিসাবে কাজ করছে । আপনার ssh -W %h:%p bridge_userid@bridgemachine.comযদি এমন বৈশিষ্ট্যটি ব্যবহার করতে চান তবে আপনার প্রক্সিকমন্ডের কিছু দরকার ।
ড্যানসুট

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

আপনার কমান্ড লাইনের ব্যবহারের ক্ষেত্রে যা আপনি ssh -A remote_userid@remoteserver.comসেতু মেশিনে চালনার জন্য একটি কমান্ড হিসাবে দিচ্ছেন তাতে কনফিগারেশন আপনাকে ডিফল্ট কমান্ড সরবরাহ করার উপায় দেয় না। আপনি worksনিজের মধ্যে যা করার চেষ্টা করছেন তবে ssh আপনাকে ProxyCommandএকটি টানেল হিসাবে ব্যবহার করার চেষ্টা করে এবং এসএসএইচ প্রোটোকলের জন্য কোনও এসএসডি শোনার পরিবর্তে অপর প্রান্তে অপেক্ষা করা শেল রয়েছে সেখানে নীচে এসএসএইচ প্রোটোকল চালানো শুরু করে।
ড্যানসুট

@ ডানসুট দুর্দান্ত কাজ করেছে। ধন্যবাদ!
এরিক বি।

উত্তর:


25

জাকুজের উত্তরটি সঠিক, তবে ওপেনএসএসএইচ7.3 , আপনি এখন ব্যবহার করতে পারবেন -J ProxyJumpযা সহজ। আমার নোট দেখুন:

ওপেনএসএসএইচ 7.3বা তারপরে

ব্যবহার ProxyJump। ম্যানুয়ালটিতে যেমন ব্যাখ্যা করা হয়েছে:

-জে [ব্যবহারকারী @] হোস্ট [: পোর্ট]
প্রথমে জাম্প হোস্টের সাথে একটি এসএসএস সংযোগ তৈরি করে এবং সেখান থেকে চূড়ান্ত গন্তব্যে একটি টিসিপি ফরোয়ার্ড স্থাপন করে টার্গেট হোস্টের সাথে সংযুক্ত করুন। একাধিক জাম্প হপস কমা অক্ষর দ্বারা পৃথক করা যেতে পারে। প্রক্সি জাম্প কনফিগারেশন নির্দেশকে নির্দিষ্ট করার জন্য এটি একটি শর্টকাট।

প্রক্সি জাম্প ~/.ssh/configউদাহরণ

~/.ssh/config

Host server1
  Hostname server1.example.com
  IdentityFile ~/.ssh/id_rsa

Host server2_behind_server1
  Hostname server2.example.com
  IdentityFile ~/.ssh/id_rsa
  ProxyJump server1

সম্পর্কিত

ssh server2_behind_server1 -v

-vভার্বোজ আউটপুট জন্য যোগ করুন

প্রক্সি জ্যাম্প -Jকমান্ড লাইনের উদাহরণ

~/.ssh/config

Host server1
  Hostname server1.example.com
  IdentityFile ~/.ssh/id_rsa

Host server2
  Hostname server2.example.com
  IdentityFile ~/.ssh/id_rsa

সম্পর্কিত

ssh server2 -J server1 -v

বা ব্যবহার -o

ssh server2 -o 'ProxyJump server1' -v

ওপেনএসএসএইচ 5.4বা তারপরে

ব্যবহারের ProxyCommandসঙ্গে-W

~/.ssh/config

Host server1
  Hostname server1.example.com
  IdentityFile ~/.ssh/id_rsa

Host server2
  Hostname server2.example.com
  IdentityFile ~/.ssh/id_rsa
  ProxyCommand ssh server1 -W %h:%p

সম্পর্কিত

ssh server2 -v

বা ব্যবহার -o

ssh server2 -o 'ProxyCommand ssh server1 -W %h:%p' -v

ওপেনএসএইচ বেলো 5.4

~/.ssh/config

Host server1
  Hostname server1.example.com
  IdentityFile ~/.ssh/id_rsa

Host server2
  Hostname server2.example.com
  IdentityFile ~/.ssh/id_rsa
  ProxyCommand ssh server1 nc %h %p 2> /dev/null

সম্পর্কিত:

ssh server2 -v

বা ব্যবহার -o

ssh server2 -o 'ProxyCommand ssh server1 nc %h %p 2> /dev/null' -v

সোর্স

-Jওপেনএসএইচ 7.3-এ যোগ করা হয়েছে

  • ssh (1): এক বা একাধিক এসএসএইচ ঘাঁটি বা "জাম্প হোস্ট" এর মাধ্যমে সরলীকৃত দিকনির্দেশকে অনুমতি দেওয়ার জন্য একটি প্রক্সি জম্প বিকল্প এবং সম্পর্কিত -J কমান্ড-লাইন পতাকা যুক্ত করুন।

-Wওপেনএসএইচ 5.4-এ যোগ করা হয়েছে

  • Ssh (1) এ একটি 'নেটক্যাট মোড' যুক্ত হয়েছে: "ssh -W হোস্ট: পোর্ট ..." এটি ক্লায়েন্টের স্টডিওটিকে সার্ভারের একক বন্দরের সাথে সংযুক্ত করে। এটি উদাহরণস্বরূপ, ইন্টারমিডিয়েট সার্ভারগুলির মাধ্যমে সংযোগগুলি রুট করার জন্য একটি প্রক্সিকম্যান্ড হিসাবে ssh ব্যবহার করে allows BZ # 1618

3

netcatতোমার ব্রিজের দরকার নেই ড্যানসুট মন্তব্যে প্রস্তাবিত হিসাবে আপনি ssh -Wপরিবর্তে কমান্ড লাইন বিকল্পটি ব্যবহার করতে পারেন , এই কনফিগারেশনটি আপনার পক্ষে কাজ করা উচিত:

Host axp
  User          remote_userid
  HostName      remoteserver.com
  IdentityFile  ~/.ssh/id_rsa.eric
  ProxyCommand ssh -AW %h:%p bridge_userid@bridge_userid.com

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