এসএসএইচ: এসএসএস সার্ভারে শেল ছাড়াই টানেল


63

আমাকে দুটি হোস্টের মধ্যে একটি সুড়ঙ্গ স্থাপন করতে হবে।

এর জন্য আমি sshএইভাবে ব্যবহার করি :

ssh -L MY_LOCAL_PORT:FOREIGN_ADDRESS:FOREIGN_PORT MYUSER@SSH_SERVER

এর পরে, আমি আমার এসএসএইচএসএসআরভিআরটিতে লগ ইন করব।

আমি কীভাবে এই বৈশিষ্ট্যটি এড়াতে পারি ?! আমার কেবল একটি সুড়ঙ্গ স্থাপন করতে হবে। আমার এসএসএইচএসএসআরভিআরটিতে আমাকে লগইন করতে হবে না ...

আমি -N বিকল্পটি চেষ্টা করেছি, তবে এটি আমার শেলকে ব্যস্ত রাখে।


এসএসএইচ-এন-এল এক্সএক্স: এক্সএক্স: এক্সএক্স ব্যবহারকারী @ সার্ভার & <- আপনি কি এর আগে চেষ্টা করেছেন?
লরেন্স

আরে, আপনার অধিকার আছে। আমি অন্য একটি হোস্ট চেষ্টা করেছি এবং -N বিকল্প কাজ করে। সুতরাং আমি আবিষ্কার করেছি যে সমস্যাটি আমার ssh ক্লায়েন্টের উপর রয়েছে (আমি জানি না কেন, এবং আমি কারণটি অনুসন্ধান করব)। অনেক ধন্যবাদ!
বাউ মিয়াও

1
man sshকীভাবে দেখায়: ssh -f -L 1234:localhost:6667 server.example.com sleep 10 && irc -c '#users' -p 1234 pinky 127.0.0.1 -f বিকল্পের ব্যাকগ্রাউন্ড এসএসএস এবং রিমোট কমান্ড `` ঘুম 10 '' নির্দিষ্ট করে সময় (10 সেকেন্ড, উদাহরণস্বরূপ) যে টানেল তৈরি করতে হবে তা পরিষেবা শুরু করার জন্য নির্দিষ্ট করা হয়েছে। নির্দিষ্ট সময়ের মধ্যে কোনও সংযোগ তৈরি না করা থাকলে, ssh প্রস্থান করবে। `` `
লিওনেলো

উত্তর:


71

অন্যান্য পোস্টে যেমন বলা হয়েছে, আপনি যদি রিমোট হোস্টে প্রম্পট না চান তবে আপনাকে অবশ্যই -Nএসএসএইচ বিকল্পটি ব্যবহার করতে হবে । তবে এটি কেবল প্রম্পট ছাড়াই এসএসএইচ চালিয়ে যায় এবং শেলটি ব্যস্ত।

আপনাকে কেবল &সাইন দিয়ে একটি ব্যাকগ্রাউন্ড টাস্ক হিসাবে এসএসএইচিং লাগাতে হবে :

ssh -N -L 8080:ww.xx.yy.zz:80 user@server &

এটি ব্যাকগ্রাউন্ডে ssh টানেলিং চালু করবে। তবে কিছু বার্তা উপস্থিত হতে পারে, বিশেষত যখন আপনি অ-শোনার পোর্টের সাথে সংযোগ স্থাপনের চেষ্টা করেন (যদি আপনি সার্ভারের অ্যাপাচি চালু না করেন)। অন্যান্য জিনিসগুলি করার সময় আপনার শেলটিতে এই বার্তাগুলি ছড়িয়ে পড়তে এড়াতে আপনি STDOUT / STDERR কে বড় শূন্যে পুনর্নির্দেশ করতে পারেন:

ssh -N -L 8080:ww.xx.yy.zz:80 user@server >/dev/null 2>&1 & 

এসএসএইচ দিয়ে মজা করুন।


17
আপনি এবং io পুনঃনির্দেশের -fপরিবর্তে ssh বিকল্প ব্যবহার করতে পারেন &
tkrennwa

49

-f -N আপনি যা খুঁজছেন তা হ'ল:

ssh -f -N -L MY_LOCAL_PORT:FOREIGN_ADDRESS:FOREIGN_PORT MYUSER@SSH_SERVER

3
একবার টানেলটি সেট আপ হয়ে গেলে আপনি কীভাবে এই পদ্ধতিটি দিয়ে এটি বন্ধ করবেন?
চৌম্বকীয়

@ ম্যাগনেটিক psএবং killতার সাথে প্রক্রিয়াটি সন্ধান করুন
neu242

13
@ ম্যাগনেটিক এবং @ নিউ 242 "মাস্টার সকেট" ব্যবহার করা আরও ভাল যা আপনি ssh -N -f -M -S /tmp/file-sock -L port:server:port_to user@...পরে ssh -S /tmp/file -o exit user@....(বা হত্যা) সাথে সংযোগটি হত্যা করতে পারেন । এইভাবে, পিএস করার দরকার নেই। আপনি file / .ssh / কনফিগারেশনে স্বয়ংক্রিয়ভাবে সেই ফাইলটি তৈরি করতে বলতে পারেন।
ধাতব 3 ই

1
আমার অর্থ "নিয়ন্ত্রণ সকেট" এবং "মাস্টার সকেট" নয়
ধাতব 3

8
এটি হওয়া উচিত ssh -S /tmp/file-sock -O exit, -o en.wikibooks.org/wiki/OpenSSH/Cookbook/…
fetsh
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.