কীভাবে অতিরিক্ত সার্ভারের মাধ্যমে এসএসএইচ এক্স 11 ফরওয়ার্ডিং সক্ষম করবেন?


33

আমার কাছে হোস্ট এ, বি এবং সি আছে হোস্ট এআই থেকে কেবল এসএসএসের মাধ্যমে অ্যাক্সেস করা যায় বিআই থেকে সি অ্যাক্সেস করতে পারে আমি সি তে এক্স 11 প্রোগ্রাম চালাতে সক্ষম হতে চাই এবং এ-তে ফরোয়ার্ড ডিসপ্লেতে চাই।

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

একটি $ ssh -XB
বি sh এসএস-এক্সসি
সি $ এক্সক্লোর
ত্রুটি: প্রদর্শন খুলতে পারবেন না:

কিন্তু এটি কাজ করে না।

উত্তর:


25

এটি করার বিভিন্ন উপায় রয়েছে, আমি যেটি পছন্দ করি তা হ'ল এসএস পোর্টটি ফরোয়ার্ড করা:

প্রথমে, মেশিন বি এর সাথে সংযুক্ত করুন এবং বি এর মাধ্যমে [লোকালপোর্ট] সি: 22 তে ফরোয়ার্ড করুন

A$ ssh -L [localPort]:C:22 B

এরপরে, X11 ফরোয়ার্ড করে, [লোকালপোর্ট) ব্যবহার করে এই নতুন নির্মিত টানেলের মাধ্যমে A থেকে C এর সাথে সংযোগ স্থাপন করুন

A$ ssh -X -p [localPort] localhost

এখন আমরা সি তে এক্স 11 প্রোগ্রাম পরিচালনা করতে পারি এবং এগুলিকে এ এ প্রদর্শিত করতে পারি

C$ xclock

[লোকালপোর্ট] এমন কোনও বন্দর হতে পারে যা আপনি ইতিমধ্যে এ তে শুনছেন না, আমি প্রায়শই সরলতার জন্য 2222 ব্যবহার করি।


3
ঠিক নয় ... সার্ভার সি-তে যদি এক্স 11 ফরওয়ার্ডিং সক্ষম না করা হয় তবে এটি কাজ করবে না। এটি সার্ভার বিতে AllowTcp ফরওয়ার্ডিং হ্যাঁ এবং গেটওয়েপোর্টস হ্যাঁ সেট না করা ছাড়াও এটি কাজ করবে না এই উত্তরটি মোটেও গ্রহণযোগ্য নয়
এসডামিন

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

প্রথম ধাপে, এটি আমাকে হোস্ট বি এর জন্য পাসওয়ার্ড জিজ্ঞাসা করেনি, এবং আমি হোস্ট সি-তে সংযুক্ত হয়ে গিয়েছিলাম অন্য একটি উইন্ডোতে আমি দ্বিতীয় ধাপে চেষ্টা করেছি এবং আমি "ssh_exchange_ شناخت: দূরবর্তী হোস্ট দ্বারা সংযোগ বন্ধ" পেয়েছি।
এমএসবি 0

ssh: হোস্টে সংযোগ করুন ... পোর্ট 22: প্রথম কমান্ড কার্যকর করার সময় সংযোগ অস্বীকার করেছে
রডরিগো

7

এটি সহজেই পোর্ট ফরওয়ার্ডিং ব্যবহার করে সম্পন্ন করা যায়:

A$ ssh -NL 2022:C:22 B &
A$ ssh -X -p 2022 localhost
C$ xclock

পোর্ট লোকালহোস্ট: ২০২২ সি এসকে 22 বি এসএসএইচ দিয়ে সিতে লোকালহোস্টের মাধ্যমে ফরোয়ার্ড করা হয়েছে: 2022 এক্সকে সাধারণ হিসাবে ব্যবহার করুন


2
এটি বি (গেটওয়ে) এর সঠিক sshd ফরওয়ার্ডিং বিকল্প সক্ষম না করার ক্ষেত্রে অন্য কোথাও উল্লিখিত একই কারণে কাজ করবে না।
g33kz0r

বি হোস্ট করার জন্য আমার পাসওয়ার্ড জিজ্ঞাসা করেনি, যা অদ্ভুত; এবং এটি কাজ করে না, আমি ত্রুটি বার্তাটি পেয়েছি "চ্যানেল 2: ওপেন ব্যর্থ হয়েছে: প্রশাসনিকভাবে নিষিদ্ধ: ওপেন ব্যর্থ ssh_ex بدل_ পরিচয়: দূরবর্তী হোস্ট দ্বারা সংযোগ বন্ধ হয়েছে"
এমএসবি

4

সমস্যাটি ধরে নিলে মাঝের মেশিনটিতে এক্স নেই, তবে এটি অন্যথায় এক্স 11 ফরোয়ার্ড করার অনুমতি দেওয়ার জন্য কনফিগার করা হয়েছে, কেবলমাত্র xauth ইনস্টল করুন।

ইয়াম-ভিত্তিক সিস্টেমে (ফেডোরা, রেডহ্যাট, সেন্টো):

B$ sudo yum install xauth

একটি এপটি-ভিত্তিক সিস্টেমে (ডেবিয়ান, উবুন্টু):

B$ sudo apt-get install xauth

হ্যাঁ- হেডলেস রাস্পবেরি পাইয়ের জন্য উপযুক্ত।
সেএমসি

@ সিএমসি বা ভিপিএন এর মতো এসএসএস ব্যবহার করে।
জয়েন

@ সিএমসি আপনার কি yumপাই আছে?
জয়েন

nope- উবুন্টু apt-get xauth ইনস্টল
সিএমসি

3

নতুন সংস্করণগুলির জন্য ওপেনএসএইচডি X11UseLocalhostএই কাজ করার জন্য আপনাকে অক্ষম করতে হবে।

আপনাকে হোস্ট সি-তে এটি করতে হবে /etc/ssh/sshd_configএবং এটি কাজ করার জন্য sshd পুনরায় চালু করতে হবে:

X11Forwarding yes
X11UseLocalhost no

2

আপনি যদি কোনও এসএসডি ব্যবহার করছেন তবে যদি আপনি X11 ফরোয়ার্ডিং অক্ষম করে থাকেন তবে আপনি এক্স 11 ডিসপ্লে ফরোয়ার্ড করতে পারবেন না।

man sshd_config:

X11Forwarding
  Specifies whether X11 forwarding is permitted. The argument must be “yes”
  or “no”.  The default is “no”.

আপনাকে নিশ্চিত করতে হবে যে এক্স 11 ফরোয়ার্ডিং গন্তব্য এবং আপনি যে সকল মধ্যবর্তী এসএসডি ব্যবহার করছেন তা সক্ষম হয়েছে ।

কেবলমাত্র একটি ছোট্ট ইঙ্গিত: আপনার ভিএনসি ব্যবহার করার চেষ্টা করা উচিত, এক্স 11 ডিসপ্লে ফরোয়ার্ডিং বেশ ব্যান্ডউইথ গ্রহণযোগ্য।


@ এজেন্টকে এবং @ ডেভের পরামর্শগুলির জন্য কেবলমাত্র এক্স 11 ফরোয়ার্ডিংকে চূড়ান্ত হোস্টে সক্ষম করা দরকার, কারণ তারা মধ্যবর্তী হোস্টকে বাইপাস করতে এসএসএইচ টানেল ব্যবহার করে। আপনার পরামর্শ প্রায় নিশ্চিতভাবেই কেন প্রথমে ওপির পদ্ধতিটি ব্যর্থ হয়েছিল, তবে এর অর্থ এই নয় যে অন্যান্য লোকদের উত্তর "গ্রহণযোগ্য নয়"
ড্যানিয়েল লসন

তাদের উত্তরগুলি ত্রুটিযুক্ত ছিল এবং সমস্যার সমাধান করে, এটি সমাধান করে না। একটি সঠিক এবং দরকারী উত্তরটি আসল প্রশ্নটি বিবেচনা করবে এবং এটি সমাধান করবে এবং কেবলমাত্র মূল প্রশ্নটি সমাধানযোগ্য না হলে অন্যান্য উপায় সরবরাহ করবে। যাইহোক, তাদের উভয়ই
এক্স

কিছু সিস্টেমে ডিফল্ট " yes" হয়।
ব্র্যাড গিলবার্ট

আমি পরীক্ষা করে দেখেছি যে এক্স 11 ফরওয়ার্ডিং বি এবং সি তে সক্ষম হয়েছে এবং AllowTcp ফরওয়ার্ডিং হ'ল বি তে হ্যাঁ সেট করা আছে তবে আমার কমান্ডগুলির ফলাফল একই is এবং ডেভের উত্তর আমার পক্ষে ভাল কাজ করে।
lexsys

তবে এটি করুন, তবে এটি কেবল একটি প্রতিকার। আপনি '-v' প্যারামিটার দিয়ে এসএসএস শুরু করতে পারেন, বা প্রতিধ্বনি চেষ্টা করে দেখুন all সমস্ত
নস্ট করা এসএসএস

2

আপনি প্রায়শই A থেকে C এ যান, আপনি বি প্রক্সি হিসাবে কনফিগার করতে পারেন:

A:~/.ssh/config:

Host C
  ForwardX11   yes
  ProxyCommand ssh -W %h:%p B

তাহলে এটি ঠিক:

A$ ssh C xclock

1

আপনি চেষ্টা করেছেন?

A$ ssh -Y B
B$ ssh -Y C
C$ xlclock

-Y পতাকা "বিশ্বস্ত এক্স 11 ফরওয়ার্ডিং সক্ষম করে।"


একই ফল।
লেকসিস

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