এসএসএস বার্তাটি প্রদান করে "চ্যানেল 1 এ এক্স 11 ফরোয়ার্ডিংয়ের অনুরোধ ব্যর্থ হয়েছে"


33

আমি যখন এমন কোনও রিমোট সার্ভারে প্রবেশ করি যেটি কোনও ধরণের এক্স 11 ডেস্কটপ পরিবেশে চলছে না তখন আমি নিম্নলিখিত বার্তাটি পাই।

$ ssh user@server
X11 forwarding request failed

$ ssh user@server ls
X11 forwarding request failed on channel 1
file1
file2
...

আমি কীভাবে এই বার্তাগুলি থেকে মুক্তি পাব?

উত্তর:


38

এই বার্তাগুলি কেবল এসএসএইচ বিকল্পগুলি ব্যবহার করে 3 টির মধ্যে 1 টি পদ্ধতির মাধ্যমে নির্মূল করা যেতে পারে। আপনি সর্বদা বার্তা পাঠাতে পারেন /dev/nullতবে এই পদ্ধতিগুলি কেবল আটকা পড়ে এবং ডাম্প করার পরিবর্তে কনফিগারেশনের মাধ্যমে বার্তাটি মোকাবেলা করার চেষ্টা করে।

পদ্ধতি # 1 - xauth ইনস্টল করুন

আপনি যে সার্ভারটি রিমোট করছেন সেটি অভিযোগ করছে যে এটি ব্যবহারকারীর .Xauthorityফাইলে কোনও এন্ট্রি তৈরি করতে পারে না , কারণ xauthইনস্টল করা হয়নি। তাই এই বিরক্তিকর বার্তা থেকে মুক্তি পেতে আপনি প্রতিটি সার্ভারে এটি ইনস্টল করতে পারেন।

ফেডোরা ১৯-তে আপনি এর xauthমতো ইনস্টল করুন :

$ sudo yum install xorg-x11-xauth

আপনি যদি sshসার্ভারে প্রবেশ করার চেষ্টা করেন তবে আপনি একটি বার্তা দেখতে পাবেন যে ব্যবহারকারীর .Xauthorityফাইলে একটি এন্ট্রি তৈরি হচ্ছে ।

$ ssh root@server
/usr/bin/xauth:  creating new authority file /root/.Xauthority
$

পরবর্তী লগইনগুলি আর এই বার্তাটি প্রদর্শন করবে না।

পদ্ধতি # 2 - এটি ফরওয়ার্ডএক্স 11 এর মাধ্যমে অক্ষম করুন

আপনি sshক্লায়েন্টকে এসএসএইচ প্যারামিটার ফরওয়ার্ডএক্স 11 অন্তর্ভুক্ত করে এক্স 11 ফরোয়ার্ডিং সক্ষম না করার জন্য নির্দেশ দিতে পারেন ।

$ ssh -o ForwardX11=no root@server

আপনি -xস্যুইচ দিয়ে একই জিনিস করতে পারেন:

$ ssh -x root@server

এটি কেবলমাত্র এই বার্তাটিকে অস্থায়ীভাবে অক্ষম করবে, তবে আপনি যদি xauthরিমোট সার্ভারে ইনস্টল করতে সক্ষম না হন বা ইচ্ছুক না হন তবে এটি একটি ভাল বিকল্প ।

পদ্ধতি # 3 - এটি sshd_config এর মাধ্যমে অক্ষম করুন

এটি বিশেষভাবে ডিফল্ট কিন্তু ক্ষেত্রে এটি না হয় তবে আপনি আপনার সেটআপ করতে পারেন sshdসার্ভার যাতে X11Forwarding বন্ধ আছে, এর মধ্যে /etc/ssh/sshd_config

X11Forwarding no

3 টি পদ্ধতিগুলির মধ্যে আমি সাধারণত # 2 ব্যবহার করি কারণ আমি প্রায়শই X11Forwardingআমার বেশিরভাগ সার্ভারের জন্য চাইব , তবে X11....সতর্কতাটি দেখতে চাই না

$ হোম / .ssh / কনফিগ

বেশিরভাগ সময় এই বার্তাটি এমনকি প্রদর্শিত হবে না। যখন আপনার $HOME/.ssh/configফাইলে নীচে নীচে প্রবেশ করা থাকে তবে এগুলি সাধারণত উপস্থিত থাকে ।

ServerAliveInterval 15
ForwardX11 yes
ForwardAgent yes
ForwardX11Trusted yes

GatewayPorts yes

সুতরাং এটি এই সেটআপ, যা শেষ পর্যন্ত এই X11..বার্তাগুলি প্রজন্মের চালনা করছে , সুতরাং, আপনি যদি ForwardX11 yesডিফল্টরূপে চালনা করতে চান তবে # 2 পদ্ধতিটি সবচেয়ে উপযুক্ত বলে মনে হচ্ছে , তবে sshক্লায়েন্টের দৃষ্টিকোণ থেকে নির্দিষ্ট সংযোগের জন্য বেছে বেছে এটি অক্ষম করুন it ।

নিরাপত্তা

এটি ForwardX11 yesসর্বদা চালিয়ে যাওয়ার জন্য সাধারণত অসুস্থ পরামর্শ দেওয়া হয় । সুতরাং আপনি যদি সর্বাধিক সুরক্ষিত ম্যানারে আপনার এসএসএইচ সংযোগগুলি পরিচালনা করতে চান তবে নিম্নলিখিতগুলি করা ভাল:

  1. ForwardX11 yesআপনার $HOME/.ssh/configফাইল অন্তর্ভুক্ত করবেন না
  2. আপনার মাধ্যমে যখন প্রয়োজন তখন কেবল ফরওয়ার্ডিংএক্স 11 ব্যবহার করুন ssh -X user@server
  3. যদি আপনি পারেন X11Forwardingতবে সার্ভারে সম্পূর্ণ অক্ষম করুন যাতে এটি অনুমোদিত নয়

রেফারেন্স



রেকর্ডের জন্য, আমি যে বার্তা যখন আমি পেয়েছি ছিল দূরবর্তী সার্ভারে এক্স ক্লায়েন্ট চালানোর চেষ্টা। তারা আরম্ভ করবে না কারণ SPLAY DISPLAY সেট করা হয়নি। আমি আপনার প্রথম পরামর্শটি দিয়ে এটি ঠিক করতে সক্ষম হয়েছি: xauth ইনস্টল করুন।
টম এলিস

13

আমার ক্ষেত্রে /etc/ssh/sshd_configসমস্যাটি সমাধান করার জন্য এই স্ট্রিং যুক্ত করুন :

X11UseLocalhost no

এটি আমার জন্য কাজ করেছে (সার্ভারটিতে ইতিমধ্যে xauth ইনস্টল করা আছে)। ধন্যবাদ।
পল হিগিংস

এটি আমার সমস্যা সমাধানের জন্য উপস্থিত হয়েছিল, তবে আমি কেন বুঝতে পারছি না, এটি কীসের সাথে সম্পর্কিত। আমার কাছে তিনটি অভিন্ন ডিবিয়ান 7 মেশিনের কী হওয়া উচিত, যার মধ্যে একটি হঠাৎ করে locahostএক্স 11 ফরওয়ার্ডিং গ্রহণ করা বন্ধ করে দিয়েছে । অন্য দুটিতে এক্স 11 ফরোয়ার্ডিং এখনও কাজ করে। কোন ধারণা কি পরিবর্তন হতে পারে?
কাইল স্ট্র্যান্ড 18

12

আজকের এই জুড়ে দৌড়ে এবং কিছুক্ষণের জন্য আমার মাথার পিটুনি না হওয়া পর্যন্ত আমি কোনও এসএস সেটিং জুড়ে হোঁচট খেয়েছি:

যদি এটি আরএইচএল 7 (সেন্টস, ওএল, ইত্যাদি) হয় এবং এটি আইপিভি 6 অক্ষম করে থাকে তবে এটির প্রয়োজন:

AddressFamily inet

/ etc / ssh / sshd_config এ সেট করুন।


যদি কেবলমাত্র এর সাথে সম্পর্কিত ত্রুটি বার্তাটি ...
জ্যাক ওয়াসি

আপনি কি মজাদার জানেন? আমি আজ এটিতে ছুটে এসে এটিকে গুগল করেছিলাম, এই নিবন্ধটি পেয়েছি এবং চার বছর আগে থেকে আমার নিজের মন্তব্য খুঁজে পেয়েছি এবং বলেছি "ওঁ হ্যাঁ সমস্যা এটি।"
সিস্টেমেস্পেট

2

আর কিছুটা ভিন্নতা হ'ল যদি আপনি নির্দিষ্ট সার্ভারের জন্য এই বার্তাটি দেখতে (যেমন X11 ফরোয়ার্ড করার চেষ্টা বন্ধ করে) বন্ধ করতে চান তবে অন্য সমস্ত সংযোগের জন্য ডিফল্টটিকে ফরোয়ার্ডএক্স 11 হ্যাঁ রেখে দিন।

এই দৃশ্যের জন্য, আপনি আপনার ~ / .ssh / কনফিগারেশনে একটি নির্দিষ্ট হোস্ট (বা রেঞ্জ) এর জন্য এক্স 11 ফরোয়ার্ডিং অক্ষম করতে পারেন। এটার মতো কিছু:

host 10.1.1.*
ForwardX11 no 

স্বীকৃতি: এটি বিদ্যমান (এবং খুব সম্পূর্ণ) বিদ্যমান উত্তরের জন্য একটি সামান্য শোভন - কারণ আমি মন্তব্য করতে পারিনি!


2

ভারবোজ মোডে ক্লায়েন্টটি চালানো হলে ( ssh -v user@host) আপনাকে দেয়

debug1: Remote: No xauth program; cannot forward with spoofing.

কিন্তু xauthপ্রকৃতপক্ষে সার্ভারে ইনস্টল করা থাকে, তাহলে এটি সম্ভবত কারণ sshd কমান্ড জন্য দেখায় xauth ভুল স্থানে এক্সিকিউটেবল ( / usr / X11R6 / বিন / xauth সাধারণত)। যে কোনও এটি সেট করে ঠিক করতে পারে

XAuthLocation /usr/bin/xauth

মধ্যে , / etc / sshd কমান্ড / sshd_config (অথবা যাই হোক না কেন আপনার সার্ভারে মাধ্যমে কনফিগার করা হয়েছে)।


এটি আমার জন্য সেন্টোস on এ কাজ করেছিল That's এটি হ'ল ত্রুটি বার্তা যা আমি দেখছিলাম।
ব্রায়ান মিন্টন

এটি আমার সমস্যা ছিল, একটি ম্যাক থেকে দূর থেকে লগ ইন করার চেষ্টা করা। সেখানে সঠিক প্রসারণটি ছিল XAuthLocation / opt / X11 / bin / xauth
লিওন অ্যাভেরি

1

প্রতি হোস্ট ভিত্তিতে X11 ফরওয়ার্ডিং কনফিগার করা

ইতিমধ্যে এখানে দুর্দান্ত উত্তরের সমস্তগুলি ছাড়াও, আপনি ForwardX11প্রতি হোস্ট ভিত্তিতে কনফিগার করতে পারেন , সুতরাং যদি কেবল serverএটির মতো ব্যর্থ হয় তবে আপনি ~/.ssh/configনিম্নলিখিত ফর্মটির আপনার ফাইলটিতে একটি এন্ট্রি যুক্ত করতে পারেন :

Host server server.domain.dom
    ForwardX11 no

এমনকি কনফিগারেশনের পুরো সেটগুলির জন্য এ্যালাইস হিসাবে আপনি এ জাতীয় এন্ট্রিগুলি ব্যবহার করতে পারেন

Host my.server
    HostName server.domain.dom
    User user
    Port 1234
    ForwardX11 no

এটি বিশেষত কার্যকর যদি আপনি এসএসএইচ এবং এসসিপি-র জন্য স্বয়ংক্রিয় পরিপূর্ণ সার্ভারের নাম সেট আপ করে থাকেন ।


1

sshd-xauthপ্রায় এক দশক পুরানো বাগ নিয়ে রান করার পরে আমি এই প্রশ্নটি জুড়ে এসেছি । দুটি সমাধানের প্রতিবেদন করা হয়েছে, প্রথম বাইপাসিং xauth, দ্বিতীয়টি বাগটি সম্বোধন করা।


সমাধান 1 - বাইপাস xauth

  • স্থানীয় - একটি জেসারভার পরিবেশনকারী স্থানীয় মেশিন।
  • রিমোট - রিমোট মেশিনটি অ্যাপ্লিকেশনটি পরিবেশন করে যা এক্সারভারে যাওয়া ডেটা চালায়

রিমোট /etc/ssh/sshd_config:

X11Forwarding no
X11DisplayOffset 10
X11UseLocalhost yes

রিমোট ~/.Xauthorityখালি বা অস্তিত্ব নেই

স্থানীয়:

Xephyr -ac -screen 1280x800 -br -reset   :2 &
DISPLAY=:2 ssh  -fR 6010:/tmp/.X11-unix/X2  user@remote "DISPLAY=:10 xeyes"

পরীক্ষায়, স্থানীয় উবুন্টু 18.05 চালাচ্ছিল, রিমোট চলছিল দেবিয়ান জেসি।

আমি এই প্রশ্নের সমাধান অন্য প্রশ্নের উত্তর হিসাবে পোস্ট করেছি ।


সমাধান 2 - sshd / xauth বাগটি সম্বোধন করুন

এই সমাধানটি উপরে @ সিস্টেম্পোয়েটের সমাধানের নিকটে , যদিও কেবল এটিই যথেষ্ট ছিল না।

/etc/ssh/sshd_configরিমোটে সংশোধন করা ছাড়াও :

AddressFamily inet

/etc/hosts রিমোটেও সংশোধন করা হয়েছিল:

::1     localhost ip6-localhost ip6-loopback

হয় যদি মন্তব্য করা হয়, ত্রুটি বার্তা

X11 forwarding request failed on channel 0

ssh -X ...কল পরে হাজির । এছাড়াও /var/log/auth.logত্রুটিটি দেখিয়েছে:

sshd[...]: error: Failed to allocate internet-domain X11 display socket

বাগ উত্পাদনের পরীক্ষা (ঠিক করার আগে):

স্থানীয় মেশিন:

$ Xephyr -ac -screen 1280x800 -br -reset -terminate  :2 &
$ DISPLAY=:2 ssh -X  user@remote
X11 forwarding request failed on channel 0

0

কনফিগারেশন পরিবর্তনগুলি করার পরে একটি গুরুত্বপূর্ণ বিষয় লক্ষণীয়: আপনাকে এসএসডি মারতে হবে যাতে এটি পরিবর্তনগুলি গ্রহণ করে:

cat /var/run/sshd.pid | xargs kill -1

মূল ব্যবহারকারী হচ্ছে।


-2
  1. /etc/ssh/sshd_configআপনার RHEL হোস্টে নিম্নলিখিত 2 টি বিকল্প সেট করুন

    X11Forwarding yes X11UseLocalhost no

  2. sudo /etc/init.d/sshd reload

  3. sudo yum install xauth
  4. এক্স-সুইচ দিয়ে আপনার RHEL হোস্টে ফিরে এসএসএস করুন: ssh -X yourname@rhelbox
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.