SSH পোর্ট সেশন ছাড়া ফরওয়ার্ডিং


7

আমি আমার পোর্ট 8085 ফরওয়ার্ড করার চেষ্টা করছি যা রিমোট সার্ভারে একটি মিনি http সার্ভারের জন্য লাইভ ক্যামেরা স্ট্রিম পোর্ট।

আমার কমান্ড যা আমি ব্যবহার করছি তাই হল:

ssh -R $rport:dc-bb7925e7:$camport -p 25 server@192.168.178.20

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

তাই আমি ব্যাকগ্রাউন্ডে ssh ব্যবহার করে চেষ্টা করেছি:

ssh -Nf -R $rport:dc-bb7925e7:$camport -p 25 server@192.168.178.20

সংযোগটি বন্ধ থাকলে মনে হচ্ছে এটি কাজ করে না। পোর্ট ফরওয়ার্ডিংটি স্ক্রিপ্টে ব্যবহৃত হচ্ছে যেখানে স্ক্রিপ্টটি যদি / তারপর / অন্য শর্তটি মূল্যায়ন করে এবং তারপরে ফরওয়ার্ড করার জন্য কার্যকর হয়। এই পোর্ট ফরওয়ার্ডিং অন্যান্য সমস্ত স্ক্রিপ্ট বন্ধ করার প্রস্তাব করা হয় না। এটা কেবল পোর্ট ফরওয়ার্ড করা উচিত এবং তারপর এটি খোলা রাখার সময়, সরানো উচিত।

আমি কি ভুল করছি নাকি অন্য কোন ফ্ল্যাগ ব্যবহার করা যায়?


আপনি ব্যবহার করে পতাকা আপনি কাজ করা উচিত। -N দূরবর্তী হোস্টে কোনও কমান্ড না চালানোর দ্বারা ssh অ-ইন্টারেক্টিভ করে তোলে এবং -f ssh কমান্ডটিকে পটভূমিতে চালানোর কারণ করে যা আপনার স্ক্রিপ্টটি চলতে থাকে। আমি আমার স্থানীয় মেশিনে পরীক্ষা করেছি এবং তারা প্রত্যাশিত হিসাবে কাজ করে। আপনি hte স্ক্রিপ্ট চলমান যখন অন্য কোন ত্রুটি আছে কি নিশ্চিত?
Aner

উত্তর:


14

একটি সক্রিয় TTY ব্যাকগ্রাউন্ডিং করার পরিবর্তে, আপনি কেবল এসএসএইচ নিজে নিজে জিনিসগুলির যত্ন নিতে পারেন।

আমার পরামর্শ এই হল:

ssh -fNT -আর $ rport: dc-bb7925e7: $ camport -p25 server@192.168.178.20

প্রথম তিনটি বিকল্প হল:

  -f    Requests ssh to go to background just before command execution.
  -N    Do not execute a remote command.
  -T    Disable pseudo-tty allocation.

দ্য -f বিকল্প আসলে যে ব্যাকগ্রাউন্ড জিনিস এক, কিন্তু -N এবং -T এমন সংস্থানগুলি সংরক্ষণ করবে যা আপনাকে SSH অধিবেশন বরাদ্দ করতে হবে না যার একমাত্র উদ্দেশ্য আপনার সুরটি বহন করা।

এছাড়াও এই অপশনগুলির মধ্যে আপনার একটি কাস্টম প্রোফাইল যোগ করা যেতে পারে যে নোট করুন ~/.ssh/config ফাইলটি, যদি মনে হয় স্ক্রিপ্টের পরিবর্তে স্ট্যাটিক কনফিগারেশন ফাইলগুলিতে আপনার স্ট্যাটিক কনফিগারেশনটিকে আরও বেশি করে রাখা ভাল। দ্য RemoteForward কনফিগার ফাইল বিকল্প সমতুল্য -R কমান্ড লাইন বিকল্প।

আরো দেখুন: https://unix.stackexchange.com/a/46271


-এফএনটি কাজ করে না। কোনও ধারণা নেই কেন, একবার একবার কার্যকর করা হয়, ক্যামেরা তার মূল পোর্টে আর প্রবাহিত হয় না এবং রিমোট সার্ভারটি ফরওয়ার্ড করা পোর্টেও দেখতে পারে না।
RootWannaBe

1
আমি শুধু যে যাই হোক না কেন যে কারণে, উপরের পতাকা ব্যবহার করে আসলে সংযোগ বন্ধ করা হয়। আমি একটি killall ssh কমান্ড ব্যবহার করে যা "কোন প্রসেস পাওয়া যায় নি"
RootWannaBe

1
দ্য -fNT অপশন করা সাধারণভাবে কাজ, আমি প্রতিদিন তাদের ব্যবহার। এসএসসি প্রক্রিয়া ব্যাকগ্রাউন্ড নিজেই পরে আপনার টানেল বন্ধ হয়ে যেতে পারে কেন ব্যাখ্যা করতে সক্ষম হতে আপনার নির্দিষ্ট সেটআপ সম্পর্কে যথেষ্ট জানি না। আপনি বর্ণনা করতে ডিবাগ আউটপুট একটি ত্রুটি বলে মনে হচ্ছে না। যদি তুমি চাও আপনার প্রশ্ন আপডেট করুন আপনার পরীক্ষা বিস্তারিত ফলাফল সঙ্গে, এটা আমাদের ভাল উত্তরের সঙ্গে আসতে সাহায্য করবে।
ghoti

1
আপনি সম্ভবত আপনার ডিবাগ আউটপুট যোগ করতে পারে আপনার প্রশ্নের জন্য (একটি মন্তব্য নেই)। হয়তো এসএসও কি সেশন প্রতিষ্ঠাও করতে পারে না? ভেঙ্গে যেতে পারে এমন অনেকগুলি সম্ভাব্য বিষয়, নির্ণয়ের জন্য যথেষ্ট বিস্তারিত নয়।
ghoti

1
আমি যোগ করতে ছিল -o ControlPersist=yes সংযোগ বন্ধ বন্ধ প্রতিরোধ। এই আমার থাকার কারণে ControlMaster=auto আমার ~ /। এসএসএস / কনফিগারেশন
Jon Nalley

1

-N পটভূমি নয়, এটি কোন রিমোট কমান্ড নয়। আপনি কিছু চাইছেন:

ssh -R $rport:dc-bb7925e7:$camport -p 25 server@192.168.178.20&

পিছনে ampersand উল্লেখ্য, যা কমান্ড ব্যাকগ্রাউন্ড হবে।

আপনি সম্ভবত সম্পন্ন হওয়ার পরে এসএসএইচ অধিবেশনটি ফিরে যেতে এবং বন্ধ করার জন্য কিছু যুক্তি লিখতে চান।


2
আমি ইতিমধ্যে চেষ্টা করেছিলাম & amp; এটা কিছু অগ্রসর না
RootWannaBe

1
আমার মনে হয় আপনি "ফিরে যান এবং এসএসএইচ সেশন বন্ধ করতে যুক্তি" বর্ণিত হবে এখানে
Graham

1

এটি একটি ম্যাক এমনকি কাজ করে

ssh -o ControlPersist=yes -fNT -L 9022:10.0.20.1:22 root@dc1.corsoscookies.com

এবং হ্যাঁ, আপনি ব্যবহার করতে পারেন & amp; যে সঙ্গে এবং এটা ব্যাকগ্রাউন্ড জমা হবে না।

জোন নেল্লি: সংযোগ বন্ধ করা বন্ধ করার জন্য আমাকে কন্ট্রোলপারসবাদী = হ্যাঁ যোগ করতে হয়েছিল। এই আমার ~ /। এসএসএস / কনফিগার কন্ট্রোলমাস্টার = স্বয়ংক্রিয় থাকার কারণে

এটি শৃঙ্খল একাধিক এসএসএইচ সংযোগ এবং একটি লাইনার বা একটি বাশ স্ক্রিপ্টের সাথে একটি উপায় হতে পারে।

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