80 পোর্টের মাধ্যমে এসএসএইচ করা সম্ভব?


20

আমি এমন একটি নেটওয়ার্ক ফায়ারওয়ালের পিছনে রয়েছি যা আমাকে ডিফল্ট পোর্টের মাধ্যমে ছাড়ে না। সে কারণে আমি কোনও ভিজার শাখা আমার ভাণ্ডারে ঠেকাতে পারি না। আমি জানতে চাই 80 পোর্ট 80 এর মাধ্যমে কোনওভাবে প্রক্সি প্রক্সিং করা সম্ভব কিনা যাতে আমি শাখাগুলি ঠেলাতে পারি।

শুনেছি কর্কস্ক্রু আপনাকে এটি করতে দেয় তবে ঠিক কীভাবে এটি করা যায় তা সম্পর্কে আমি নিশ্চিত নই।

আপনি যদি এমন কোনও কার্যকারী প্রক্সি সার্ভার জানেন যা আপনাকে এটি করতে দেয় তবে দয়া করে সেগুলি উল্লেখ করুন।


2
man sshপ্রকাশ পোর্ট: হোস্ট: হোস্টপোর্ট। তাই চেষ্টা করুন ssh 80:server.comবা তাই।
মার্কভ সিএইচ 1

এটি -L বা -R এর মাধ্যমে একটি টানেল স্থাপনের জন্য। সুতরাং এটির মাধ্যমে টানেল দেওয়ার জন্য আপনার আর একটি বাক্স দরকার।
সিজিয়াম

উত্তর:


19

একটি ভাল কর্পোরেট ফায়ারওয়াল পোর্ট নির্বিশেষে ট্র্যাফিক পরিদর্শন করবে সুতরাং পোর্ট পরিবর্তন করা ঠিক না পারে।

আপনি সার্ভারে নিয়ন্ত্রণ আছে, এবং এখনও এটা চেষ্টা করতে চান, আপনি sshd কমান্ড বন্দর পোর্টের 80. পরিবর্তন করতে পারেন সতর্কতা আপনি অন্য কিছু (সার্ভার দিকে) বন্দর 80 চলমান থাকে তাহলে এই কাজ করবে না এবং সম্ভবত আপনি সম্পূর্ণরূপে মানে হবে সার্ভারে এসএসএইচ অ্যাক্সেস হারান!

আপনাকে সম্পাদনা করতে হবে /etc/ssh/sshd_configএবং এতে পরিবর্তন Portকরতে হবে 80। তারপরে দৌড়াও

sudo restart ssh

এবং তারপরে সংযোগ দিন:

ssh user@host -p80

আপনার bzr পাথটি তখন এর মতো দেখতে লাগবে: bzr+ssh://host:80/path/


আরেকটি পদ্ধতি হ'ল ওয়েবড্যাভ ব্যবহার করা। এটি ফায়ারওয়াল সমস্যার পুরোপুরি স্কার্ট হওয়া উচিত কারণ এটি পোর্ট 80 এ সব ঘটে তবে এটি আপনাকে অ্যাপাচি চালিয়ে চলতে হবে এবং বেশ কয়েকটি জিনিস সেট আপ করতে হবে:

  1. ওয়েবড্যাভ ইনস্টল করুন
  2. আপনার শাখাটি সঠিক জায়গায় সরান
  3. সংযোগের জন্য bzr-webdav প্লাগইন ব্যবহার করুন

একটি ভিপিএন একটি বিকল্প হতে পারে তবে sshলক আউট থাকলে আমিও আশা করি এটিও বাদ দেওয়া হবে।

আপনার নেটওয়ার্ক প্রশাসকদের সাথে আপনি কেবল একটি শব্দ রাখতে চান। আপনার কিছু করা দরকার এবং তারা আপনাকে থামিয়ে দিচ্ছে। যদি তাদের অবরুদ্ধ করার কারণ হয়ে থাকে ssh, সম্ভবত তারা এটিকে মোটামুটি নেতিবাচকভাবে নষ্ট করার চূড়ান্ত প্রচেষ্টা দেখতে পাবে ...

সংক্ষেপে, তাদের সাথে কথা বলাই কেবল নিরাপদ হতে পারে।


7
আপনার আইটি বিভাগের সাথে আপনার প্রয়োজনগুলি নিয়ে আলোচনা করতে +1। আমার অন্তর্ভুক্ত অনেক পরিবেশে, এই ধরণের ক্রিয়াকলাপ সমাপ্তির জন্য ভিত্তি হবে।
প্যান্থার

1
এছাড়াও, যদি তিনি এসএসএস সার্ভারকে অন্য একটি পোর্টে শুনতে চান Port, তবে /etc/ssh/sshd_configফাইলের প্রতিটি পোর্টের জন্য একটি করে দুটি লাইন রেখে তিনি 22 এবং 80 উভয় পোর্টে শুনতে পারবেন ।
আজেন্ডালে

আমি একটি তালিকা তৈরি করা এড়াতে চাইছি (তালিকাটি দীর্ঘ এবং এতে কিছু আইটেম নিয়ে আলোচনা খুব দ্রুত রাজনৈতিক হয়ে উঠতে পারে), তবে এই প্রশ্নটি এমন অনেক কর্মসূচীর মধ্যে রয়েছে যা কোনও কোম্পানির নীতিমালা বাতিল করতে চাইছে যা নিষ্ঠার সাথে বাস্তবায়িত হয়েছে সংস্থার নিজস্ব আইটি বিভাগ। আমি আইটি দিয়ে লোকেরা তাদের কাজের প্রয়োজনগুলি নিয়ে আলোচনা করি তবে এটি সর্বদা প্রযোজ্য নয় এবং অনেক সময় আইটি বিভাগগুলি এমনকি এটি দিয়ে উত্তর দেয়, "এটি ঠিক আছে, তবে আমরা আপনাকে সামঞ্জস্য করার জন্য কিছু পরিবর্তন করছি না।" পৃথকভাবে, এটি বেশ প্রশংসনীয় যে পোর্ট 22 ভিপিএন দ্বারা অবরুদ্ধ করা আছে তা নয়, তাই আমি মনে করি এটি চেষ্টা করার মতো।
এলিয়াহ কাগন

@ প্যান্থার তারপরে কিছু লোকেরা কর্পোরেট প্রশাসনের অবসান ঘটাতে আরও বেশি আনন্দিত হবে।
নেভারইন্ডিংকিউ

15

প্রক্সি মাধ্যমে এসএসএইচ

ফায়ারওয়াল যদি আপনাকে অনুমতি দেয় তবে আপনি যে কোনও বন্দরে ssh চালাতে পারেন, তবে এর জন্য ssh সার্ভারের সেই পোর্টটিতে শোনা দরকার। পোর্ট 80 কাজ করার সম্ভাবনা কম, কারণ ফায়ারওয়াল রয়েছে এমন বেশিরভাগ জায়গাগুলি সেই বন্দরের ট্র্যাফিক বিশ্লেষণ করে এবং এমন কোনও কিছু অবরুদ্ধ করে যা এইচটিটিপি নয়। তবে পোর্ট 443, যা সাধারণত এইচটিটিপিএস পোর্ট, প্রায়শই কাজ করে, কারণ এসএসএইচ এবং এইচটিটিপিএস ফিল্টারিং সফ্টওয়্যারটিতে একে অপরের মতো দেখতে তাই আপনার এসএসএইচ সেশনটি এইচটিটিপিএস সেশনের মতো দেখাবে। (এইচটিটিপিএস এবং এসএসএইচ পার্থক্য করা সম্ভব, সুতরাং ফায়ারওয়াল যথেষ্ট পরিশীলিত হলে এটি কাজ করবে না))

আপনার যদি সার্ভারের নিয়ন্ত্রণ থাকে তবে এটি 22 (সাধারণ ssh পোর্ট) এর পাশাপাশি 443 পোর্টে শুনতে পান। আপনি এতে বন্দরটি কনফিগার করতে পারেন /etc/ssh/sshd_config: একটি লাইন যুক্ত করুন

Port 443

Port 22ইতিমধ্যে সেখানে থাকা উচিত ছাড়াও । নোট করুন যে এটি ধরে নিয়েছে যে ssh সার্ভারটি এইচটিটিপিএস সার্ভারও নয়। যদি এটি হয় তবে আপনাকে ফায়ারওয়াল আপনাকে ব্যবহার করতে দেয় এমন একটি অন্য পোর্ট বা অন্য ssh সার্ভারটি খুঁজে পেতে হবে (নীচে ফরোয়ার্ডিং দেখুন)।

আপনার ওয়েব ব্রাউজারে যদি কোনও ওয়েব প্রক্সি সেট করার দরকার না হয় তবে আপনি সরাসরি সংযোগ করার চেষ্টা করতে পারেন:

ssh -p 443 myserver.example.com

যদি এটি কাজ করে তবে আপনার একটি উপন্যাস সংজ্ঞায়িত করুন ~/.ssh/config:

Host myserver
HostName myserver.example.com
Port 443

আপনার ওয়েব ব্রাউজারে যদি কোনও ওয়েব প্রক্সি সেট করতে হয় তবে প্রক্সির মধ্য দিয়ে যেতে ssh কে বলুন। কর্কস্ক্রু ইনস্টল করুন । আপনার এইরকম একটি উপনাম সংজ্ঞায়িত করুন ~/.ssh/config, http://proxy.acme.com:3128/আপনি এইচটিটিপিএসের বাইরে বাইরে যে প্রক্সি ব্যবহার করেন (সঠিক হোস্টের নাম এবং পোর্ট দ্বারা প্রতিস্থাপন করুন):

Host myserver
HostName myserver.example.com
Port 443
ProxyCommand /usr/bin/corkscrew proxy.acme.com 3128 %h %p

এসএসএইচ উপর এসএসএইচ

যদি আপনি উপরের যে কোনও কৌশল দিয়ে বাইরের কোনও মেশিনে উঠতে পারেন তবে আপনার আগ্রহী মেশিনের কাছে না থেকে, কোনও সংযোগ ফরোয়ার্ড করতে এটি ব্যবহার করুন। ধরে নেওয়া যাক আপনি ডাকা একটি মেশিনে ssh করতে পারেন mygatewayএবং আপনি এসএসএইচ সার্ভারে পৌঁছাতে চান mytarget, নেটক্যাট-ওপেনবিএসডি ইনস্টল করুন mygateway(বা এটি যদি উবুন্টু না চালিয়ে থাকে তবে নিশ্চিত হয়ে নিন যে এতে ncকমান্ড রয়েছে)। এটি আপনার মধ্যে রাখুন ~/.ssh/config:

Host mytarget
ProxyCommand ssh mygateway nc %h %p

এসএসএইচ টু অ্যাপাচি

আপনি যে হোস্টটির সাথে সংযোগ করতে চান সেটি যদি ইতিমধ্যে অ্যাপাচি চালাচ্ছে এবং 443 পোর্টে শুনছে এবং সেই হোস্টের আপনার নিয়ন্ত্রণ রয়েছে, আপনি এসএইচ সংযোগগুলি গ্রহণ করতে এবং সেগুলি ফরোয়ার্ড করতে এই অ্যাপাচি সেট আপ করতে পারেন। এইচটিটিপি (এস) এর মাধ্যমে এসএসএইচ টানেলিং দেখুন ।


আপনি https এর জন্য কর্কস্ক্রুর পরিবর্তে এনসি ব্যবহার করতে পারেন, হ্যাঁ? stackoverflow.com/a/15577758/32453
rogerdpack

3

আমি এখানে একটি পরিশীলিত সমাধানটি পড়েছি:

http://benctechnicalblog.blogspot.hu/2011/03/ssh-over-connect-over-port-80.html

আপনার হোম সার্ভারটিও 80 পোর্টে একটি ওয়েব সার্ভার চালালেও আপনি 80 বন্দরে এসএসএইচ করতে পারেন।

ধরে নিচ্ছি হোম সার্ভারটি অ্যাপাচি চালায়। ধারণাটি আপনার সার্ভারে মোড_প্রক্সি সক্ষম করে, তারপরে এটিকে লোকালহোস্টের সাথে সংযুক্ত করার ক্ষেত্রে সীমাবদ্ধ করে (প্রক্সি.কম):

<IfModule mod_proxy.c>
         ProxyRequests On
        <Proxy *>
                AddDefaultCharset off
                Order deny,allow
                Deny from all
        </Proxy>
        <Proxy localhost>
          Allow from all
        </Proxy>
        AllowCONNECT 22
        ProxyVia On
</IfModule>

এখন আপনি লোকালহোস্টে এইচটিটিপি সংযোগের অনুরোধটি করতে পারেন এবং ওয়েবসভারটি আপনার জন্য একটি সুড়ঙ্গ স্থাপন করবে, আপনাকে কেবল এটি নিশ্চিত করতে হবে যে সমস্ত ট্রাফিক আপনার প্রক্সি দিয়ে যায়:

ssh -o 'ProxyCommand nc -X connect -x myhost.example.com:80 localhost 22' myhost.example.com

নিশ্চিত করুন যে এসএসএইচে লোকালহোস্ট সংযোগগুলি বিশেষাধিকারপ্রাপ্ত নয় (অচেনা লোকদের ভিতরে avoidুকতে দেওয়া এড়ানোর জন্য ...)

আপনি যদি এমন রাউটারের পিছনে থাকেন যা কেবল 80 কে পোর্ট করতে দেয় তবে এটি কাজ করা উচিত।

যদি আপনি কোনও প্রক্সিের পিছনে থাকেন (সুতরাং আপনাকে ওয়েব পাওয়ার জন্য আপনার ব্রাউজারে প্রক্সি স্থাপন করতে হবে), আপনাকে প্রথমে আপনার নিজস্ব হোস্টের জন্য একটি টানেল স্থাপন করতে হবে, তারপরে আপনার হোস্টে যাওয়ার জন্য এই টানেলের ভিতরে আরও একটি সংযোগ অনুরোধ জারি করতে হবে। এটি আরও পরিশীলিত, আপনার এটির জন্য 2 নেটকাট ব্যবহার করতে হবে।

সবকিছু সম্ভব, তবে এটি নিজের ঝুঁকির জন্য করুন ...

হালনাগাদ:

বা সহজভাবে, কেবল একটি ওয়েব অ্যাপ্লিকেশন ব্যবহার করুন যা আপনাকে ব্রাউজারের মাধ্যমে এসএসএইচ দেয়। http://en.wikipedia.org/wiki/Web-based_SSH


2

আপনার যদি এসএসএইচ পোর্টটি ৮০ পোর্টে পরিবর্তন করার জন্য সার্ভারের কোনও নিয়ন্ত্রণ না থাকে বা যদি আপনি পোর্ট ৮০ এর চেয়ে বেশি এসএসএইচ করতে না পারেন কারণ ফায়ারওয়াল আপনাকে পোর্ট ৮০ এর মাধ্যমে এই জাতীয় ডেটা স্থানান্তর করতে বাধা দেয়, আপনি টিওআর চেষ্টা করতে পারেন।

টিওআর একটি বিশাল নেটওয়ার্ক। আপনার কম্পিউটার বিশ্বের অন্য কোনও কম্পিউটারের সাথে সংযোগ স্থাপন করে, সেই কম্পিউটারটি এসএসএইচ সার্ভারে পৌঁছা না হওয়া পর্যন্ত অন্য কম্পিউটারের সাথে সংযোগ স্থাপন করে। এটি সমস্ত ফায়ারওয়াল-বান্ধব, পোর্ট 443 এ ঘটে (যা আপনার সংস্থা অবরুদ্ধ করে না, অন্যথায় .. ঠিক আছে, এটি এত স্মার্ট নয়)। এটি আক্ষরিকভাবে কেবল একটি বিশাল প্রক্সি বা ভিপিএন এবং এটি এনক্রিপ্টও রয়েছে। এইভাবে, আপনি যে কোনও হোস্ট যেকোন পোর্টে অ্যাক্সেস করতে পারবেন (এছাড়াও পোর্ট 22 এ সার্ভারের এসএসএইচ)।

অনলাইনে এটি দেখুন www.torproject.org


2

আমি দুঃখিত, আমাকে শয়তানদের উকিল খেলতে হবে।

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

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


2
নেটওয়ার্ক প্রশাসকদের সাথে কথা বলা সর্বদা সম্ভব নয় এবং নেটওয়ার্ক অ্যাডমিনগুলি সর্বদা যুক্তিসঙ্গত হয় না।
জেরেমি বিচা

উদাহরণস্বরূপ, আপনি যদি ক্যাফেতে বসে থাকেন তবে ওয়াইফাইয়ের সাথে সংযুক্ত থাকলেও প্রশাসক অ্যাক্সেসকে সীমাবদ্ধ করে রাখেন (এবং আপনাকে এখনই সংযোগ করতে হবে) to
old-ufo
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.