ফায়ারফক্স এসএসএইচ এর চেয়ে এত ধীর?


39

আমি এসএসএইচ দিয়ে ফায়ারফক্স চালু করার চেষ্টা করছি

ssh -X user@hostname

এবং তারপর

firefox -no-remote

তবে এটি খুব ধীর

আমি এটা কিভাবে ঠিক করবো? এটা কি সংযোগ সমস্যা?


3
আপনার অবিশ্বাস্যভাবে কিছু উচ্চ স্তরের এনক্রিপশন না থাকলে বা আপনি যে সার্ভারটি চালাচ্ছেন তার উচ্চ লোড না থাকলে এটি সম্ভবত সমীকরণের ssh অংশ নয়। এটি সাধারণত একটি ব্যান্ডউইথ এবং / বা বিলম্বিত সমস্যা।
ব্র্যাচলে

1
এটি একবার দেখুন: stackoverflow.com/q/12977879/252489
গৌতম

@ গওথাম যাতে আমি ব্যবহার করতে পারি: এসএসএস-এক্স-সি ব্যবহারকারী @ হোস্টনেম?
ডিভোপস 85

উত্তর:


25

ডিফল্ট ssh সেটিংস একটি দুর্দান্ত ধীর সংযোগের জন্য করে। পরিবর্তে নিম্নলিখিত চেষ্টা করুন:

ssh -YC4c arcfour,blowfish-cbc user@hostname firefox -no-remote

ব্যবহৃত বিকল্পগুলি হ'ল:

-Y      Enables trusted X11 forwarding.  Trusted X11 forwardings are not
         subjected to the X11 SECURITY extension controls.
 -C      Requests compression of all data (including stdin, stdout,
         stderr, and data for forwarded X11 and TCP connections).  The
         compression algorithm is the same used by gzip(1), and the
         “level” can be controlled by the CompressionLevel option for pro‐
         tocol version 1.  Compression is desirable on modem lines and
         other slow connections, but will only slow down things on fast
         networks.  The default value can be set on a host-by-host basis
         in the configuration files; see the Compression option.
 -4      Forces ssh to use IPv4 addresses only.
 -c cipher_spec
         Selects the cipher specification for encrypting the session.

         For protocol version 2, cipher_spec is a comma-separated list of
         ciphers listed in order of preference.  See the Ciphers keyword
         in ssh_config(5) for more information.

এখানে মূল পয়েন্টটি হ'ল একটি পৃথক এনক্রিপশন সাইফার ব্যবহার করা, এই ক্ষেত্রে আরকফোর যা ডিফল্টর চেয়ে দ্রুত হয় এবং ডেটা স্থানান্তরিত হচ্ছে সংকোচনে।


দ্রষ্টব্য: আমি এই সম্পর্কে একজন বিশেষজ্ঞের থেকে খুব দূরে। উপরের কমান্ডটি হ'ল আমি কোথাও একটি ব্লগ পোস্টে এটি সন্ধান করার পরে ব্যবহার করেছি এবং আমি গতির একটি বিশাল উন্নতি লক্ষ্য করেছি। আমি নিশ্চিত যে নীচের বিভিন্ন মন্তব্যকারী তারা জানেন যে তারা কী সম্পর্কে কথা বলছে এবং এই এনক্রিপশন সাইফারগুলি সেরা নাও হতে পারে। এটি সম্ভবত খুব প্রাসঙ্গিক যে এই উত্তরটির একমাত্র বিট হ'ল -Cডেটা স্থানান্তরিত হওয়ার জন্য সংকোচনের জন্য স্যুইচটি ব্যবহার করা ।


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

8
Is -4(IPv4- র) সত্যিই এখানে প্রাসঙ্গিক?
কর্নস্টালক

6
"আরকফোর" সাইফারটি অবহিত করা হয়েছে, বিটিডাব্লু।
মনিকা

5
সংক্ষেপণ সাহায্য করে, কিন্তু অলৌকিক কাজ করে না। ফায়ারফক্স খুব চাহিদা। সিপিইউ সময়ে পক্ষগুলির মধ্যে একটি খুব সীমাবদ্ধ না হলে সাইফার পরিবর্তন করা কোনও তাত্পর্যপূর্ণ হওয়ার সম্ভাবনা নেই: হাইফোন ডিভাইস যেমন স্মার্টফোন এবং পিসি সহ, এনক্রিপশন / ডিক্রিপশন সময় নেটওয়ার্ক ল্যাটেন্সি এবং ব্যান্ডউইথের তুলনায় नगणনীয়।
গিলস 'তাই খারাপ হওয়া বন্ধ করুন'

6
প্রস্তাবিত সাইফাররা হ'ল ভুল পথ। গিলস যেমন বলেছে, আজকাল ডিভাইসগুলির বেশিরভাগ ডিফল্ট এইএস-সিটিআর নিয়ে মোটেই কোনও সমস্যা হবে না: এটি খুব দ্রুত, বিশেষত যদি ব্যবহৃত হার্ডওয়্যারটিতে এইএস নির্দেশিকা সেট থাকে। আরসি 4 দুর্বল এবং পর্যায়ক্রমে পুরো নেট পেরিয়ে চলেছে এবং ব্লোফিশ-সিবিসি অগত্যা যাইহোক, এইএস-সিটিআর এর চেয়ে দ্রুততর নাও হতে পারে।
রিড করুন

32

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

"X2go" এর মতো কিছু চেষ্টা করুন (এটি ডিফল্ট সেটআপগুলির সাথে ssh এরও ওপরে যায়) আপনি লক্ষ্য করবেন যে ফায়ারফক্স তুলনায় "উড়ে"!

বেশ কয়েকটি বিতরণ বাক্সের বাইরে x2go প্যাকেজ সরবরাহ করে, উদাহরণস্বরূপ ডেবিয়ান টেস্টিং বা স্টেবল-ব্যাকপোর্টগুলিতে। তবে যদি তা না হয় তবে http://wiki.x2go.org/doku.php/download:start দেখুন , তারা অনেকগুলি বিতরণের জন্য প্রাইবিল্ট বাইনারি প্যাকেজ / সংগ্রহস্থল সরবরাহ করে। আপনার x2goclient ইনস্টল করা উচিত (কম্পিউটারে যেখানে আপনি ফায়ারফক্স ব্যবহার করতে চান) এবং x2goserver (কম্পিউটারে যেখানে ফায়ারফক্স চলতে হবে), আপনি সম্পূর্ণ ডেস্কটপ দর্শনের জন্য একক এক্স অ্যাপ্লিকেশনগুলির জন্য আপনার সেশনগুলি কনফিগার করতে পারেন ইত্যাদি সংযোগটি নিজেই ssh ওভার হয়। এটি একটি সত্যিই দুর্দান্ত সরঞ্জাম :)

এটি ব্যবহার করার জন্য, আপনি "x2goclient" চালান, এটি একটি জিইউআই শুরু করে যেখানে আপনি একটি নতুন অধিবেশন তৈরি করতে পারবেন: আপনি সার্ভারের ডিএনএস নাম, পোর্ট, ssh ডেটা ইত্যাদি সরবরাহ করেন এবং তারপরে আপনি "সেশন টাইপ" নির্বাচন করেন, যদি, আপনি উদাহরণস্বরূপ একটি সম্পূর্ণ দূরবর্তী কেডিএ বা জিনোম ডেস্কটপ চান, বা কেবল একটি "একক অ্যাপ্লিকেশন" এবং সেখানে আপনি "ফায়ারফক্স" প্রবেশ করুন enter


1
আমি কিভাবে এক্স 2go চেষ্টা করতে পারি? কমান্ড
DevOps85

3
x2goserverদেবিয়ান (বা উবুন্টু) তে কোনও প্যাকেজ নেই বলে মনে হচ্ছে । এছাড়াও, এটিকে টানেলিংয়ের অনুমতি দেওয়ার জন্য কনফিগার করা যেতে পারে? উদাহরণস্বরূপ, আমি মেশিনএক্স ব্যবহার করি তবে আমি কেবল মেশিনওয়াইয়ের মাধ্যমে এটিতে এসএসএস করতে পারি। X2go যে মোকাবেলা করতে পারে?
টেরডন

@ ইটারডন আপনি ঠিক বলেছেন, আমি কেবল ক্লায়েন্টকে পরীক্ষা করেছি। তবে আপনি কেবল x2go সংগ্রহস্থল যুক্ত করতে পারেন (লিংকটি wiki.x2go.org/doku.php/download:start দেখুন ) এবং সার্ভারটি সেখানে রয়েছে। আমি জানি না কেন কেবল ক্লায়েন্ট ডেবিয়ানে আছে। টানেলিং: নিশ্চিতভাবেই এটি সম্ভব, তবে কখনও চেষ্টা করে দেখেনি। আমি আশা করব যে এটি কেবলমাত্র ssh এ কনফিগার ~/.ssh/configকরতে এবং আপনার x2go সেশনে ডান (টুনেল) হোস্টনামটি ব্যবহার করার জন্য যথেষ্ট হবে।
এরিয়েল

@ ইটারডন: x2go সেশন কনফিগারেশনে একটি "এসএসএইচ সংযোগের জন্য প্রক্সি সার্ভার ব্যবহার করুন" (এসএসএস / http) বিকল্প রয়েছে। সুতরাং যে কৌশলও করা উচিত!
এরিয়েল

এটি আকর্ষণীয় বলে মনে হচ্ছে, আমি এটির সাথে আরও কিছু খেলব। এখন পর্যন্ত আমি নিশ্চিত করতে পারি যে টানেলটি কনফিগার করা .ssh/configযথেষ্ট নয়। আমার এটি সেটআপ হয়েছে যাতে ssh machineBআসলে কোনও টানেলের মধ্য দিয়ে চলে machineAতবে x2go এটি দেখে মনে হয় না।
টেরডন

17

sshঅন্য একটি মেশিনের মাধ্যমে ট্র্যাফিক রুট করতে একটি টানেল ব্যবহার করার আমার অনেক বেশি ভাল অভিজ্ঞতা রয়েছে । যে কোনও উপায়ে আপনার ssh অ্যাক্সেস থাকার কারণে এটি সেট আপ করা খুব সহজ। আপনার কম্পিউটারের একটি টার্মিনালে টাইপ করুন

ssh -vv -ND 8080 user@yourserver

এই উইন্ডোটি খোলা রাখুন এবং এটি টানেলের মধ্য দিয়ে প্রবাহিত ডেটা সম্পর্কে কিছু ভার্বোস বার্তা সরবরাহ করে দেখুন।

ইন firefox, পছন্দসমূহ -> উন্নত -> নেটওয়ার্ক -> সংযোগ: সেটিংসে যান।

ম্যানুয়াল প্রক্সি কনফিগারেশন নির্বাচন করুন এবং একটি SOCKS v5প্রক্সি যুক্ত করুন:

 SOCKS Host:   localhost    Port 8080

যেমন নেভিগেট করে আপনার নতুন আইপি চেক করুন http://whatismyipaddress.com/

প্রক্সিগুলি ডায়নামিকভাবে স্যুইচ করতে আপনি একটি ফায়ার ফক্স অ্যাড-অন ব্যবহার করতে পারেন ox


উত্সাহিত, এনএক্স-ভিত্তিক সংক্ষেপণ (x2go ইত্যাদি) ব্যবহারের এটি একটি খুব বৈধ বিকল্প, এসএসএস এনক্রিপশন সেটিংসের সাথে ফিডিংয়ের চেয়ে অনেক বেশি দরকারী :)
এরিয়েল

আমি সর্বদা ssh -L 8080: লোকালহোস্ট: 8080 ব্যবহার করেছি, তবে -ND বিকল্পটি পছন্দ করেছি তবে তার পরিবর্তে আপনি কেন ডায়নামিক বা রিমোট বা শোনার ব্যবহার করেছেন তা নিশ্চিত নই। যাইহোক, প্রক্সি ব্যবহার করে এটি এক্স-এর চেয়ে অনেক ভাল, তবে, আমি মনে করি যে কেবল ফায়ারফক্স নয়, আরও এক্স প্রোগ্রামের প্রয়োজন হলে ভিএনসি ব্যবহার করা সবচেয়ে ভাল উপায়।
erm3nda

সেটআপ করা সহজ এবং দক্ষতার সাথে কাজ করে!
ডেভিড.প্রেজ

2

ফায়ারফক্স এত বেশি ধীরে ধীরে এসএসএইচ এর চেয়ে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে চালিয়ে যায় কারণ ফায়ারফক্সের নতুন বিল্ডগুলি একাধিক উদাহরণ দেয় I



1
ইস্যুটির সাথে এর কোনও যোগসূত্র নেই - ইস্যুটি ব্রাউজার নয় বরং এক্স 11 রিমোট প্রোটোকল
জোও আন্তোনেস

0

Ssh এর মাধ্যমে আপনার ব্রাউজিংয়ের উন্নতি করবে এমন আরেকটি জিনিস হ'ল ফায়ারফক্সে পাইপলাইনিং সক্ষম করা। খুলুন about:configএবং network.http.pipeliningসত্যে পরিবর্তন করুন।


এই বিকল্পটি ওয়েবপৃষ্ঠাগুলি লোড করা দ্রুত করা উচিত, তবে ব্রাউজারটি কোনও এসএসএইচ টানেলের উপর দিয়ে চলছে কিনা তা সম্পূর্ণরূপে সম্পর্কিত নয়। যাইহোক, আপনি যখন উন্নত বিকল্পগুলি স্পর্শ করেন তখন "তবে" থেকে সাবধান থাকুন ... দেখুন kb.mozillazine.org/Network.http.pipelining
এরিয়েল

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

0

আপনার নির্দিষ্ট বাধাগুলিতে কী সহায়তা করে তা আপনাকে পরীক্ষা করতে হবে।

আমার জন্য, সংকোচনের -Cসক্ষমকরণ ( ) কেবলমাত্র লক্ষণীয় ল্যাগ থেকে অযোগ্য থেকে প্রতিক্রিয়াশীলতার উন্নতি করেছে।

কিছু লোক যা বলেছিল তার বিপরীতে সাইফারের পছন্দও প্রভাব ফেলতে পারে। আপনি লোকেরা অনলাইনে মাপদণ্ডের সাথে ভাগ করে নেওয়ার সন্ধান করতে পারেন তবে অনুমান করবেন না যে আপনার ফলাফলগুলি একই হবে। আপনার জন্য কোন সাইফারটি সবচেয়ে ভাল হার্ডওয়্যার নির্ভর। আমার জন্য আমার ডিফল্ট সাইফার (chacha20-poly1305@openssh.com) ইতিমধ্যে দ্রুততমটির জন্য বাঁধা ছিল।

কিছুটা বাস্তবসম্মত অবস্থার অধীনে প্রাসঙ্গিক সিফারগুলিকে আমি একটি দ্রুত স্ক্রিপ্ট লিখেছি। মন্তব্যে ব্যাখ্যা:

#!/usr/bin/bash

# Ciphers available to you depends on the intersection of ciphers compiled 
# into your client and the ciphers compiled into your host.
# Should be manually copied from "Ciphers:" section in your `man ssh_config`
# The script will try all ciphers specified here and will gracefully skip
# ciphers unavailable in the host.
#ciphers=""
# Example:
ciphers="3des-cbc aes128-cbc aes192-cbc aes256-cbc aes128-ctr aes192-ctr aes256-ctr aes128-gcm@openssh.com aes256-gcm@openssh.com chacha20-poly1305@openssh.com"

tmp_file=tmp.bin

# Recommend to use an identity file without a passphrase.
# That way you won't have to retype the password at each iteration.
ssh_identity_file=~/.ssh/tmp_id_no_passphrase

ssh_host="user@host"

# Size of test file, before encryption.
test_file_size_megabytes=8

# Only create test file if it doesn't yet exists.
# Doesn't check if relevant variables changed, so you'll have to delete
# the $tmp_file to regenerate it.
if test ! -f $tmp_file; then
  echo "Creating random data file" \
    "(size $test_file_size_megabytes MB): $tmp_file"

  # Not the same format as the ssh ciphers.
  # Can be left as is, unless this cipher is not supported by your openssl.
  tmp_file_cipher=aes-128-cbc

  # The purpose of encrypting the $tmp_file is to make it uncompressable.
  # I do not know if that is a concern in this scenario,
  # but better safe than sorry.

  dd if=/dev/zero bs=1M count=$test_file_size_megabytes \
    | openssl enc -$tmp_file_cipher -pass pass:123 \
    > $tmp_file
fi

for cipher in $ciphers ; do
  # Benchmark each $cipher multiple times
  for i in 1 2 3 ; do
    echo
    echo "Cipher: $cipher (try $i)"
    # Time piping the $tmp_file via SSH to $ssh_host using $cipher.
    # At destination received data is discarded.
    cat $tmp_file \
      | /usr/bin/time -p \
      ssh -i $ssh_identity_file -c "$cipher" $ssh_host 'cat > /dev/null'
  done
done

# Sample output:

# Creating random data file (size 8 MB): tmp.bin
# *** WARNING : deprecated key derivation used.                                   Using -iter or -pbkdf2 would be better.                                         8+0 records in
# 8+0 records out
# 8388608 bytes (8.4 MB, 8.0 MiB) copied, 0.0567188 s, 148 MB/s

## [redacted]

# Cipher: aes256-cbc (try 3)
# Unable to negotiate with 192.168.99.99 port 22: no matching cipher found. Their offer: chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com
# real 0.12
# user 0.03
# sys 0.03

# Cipher: aes128-ctr (try 1)
# real 9.68
# user 0.28
# sys 0.51

# Cipher: aes128-ctr (try 2)
# real 10.85
# user 0.26
# sys 0.29

## [redacted]

আপনি কোনও এসএসএইচ সংযোগের সাথে পরীক্ষা করার জন্য চয়ন করতে পারেন যেখানে ক্লায়েন্ট এবং হোস্ট একই মেশিন, বা আপনি আরও বাস্তবসম্মত দৃশ্যে পরীক্ষা করতে পারেন, যেখানে হোস্টটি এমন মেশিন যেখানে আপনি X11 ফরোয়ার্ডিং করছেন, যা আরও কার্যকর হওয়া উচিত, কারণ পারফরম্যান্স কেবল ক্লায়েন্টের পারফরম্যান্স ডেসিফেরিংয়ের উপরই নয়, হোস্টের উপরও নির্ভর করে।

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

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