Autossh ব্যবহার করে একটি চলমান বিপরীত এসএসএইচ সুড়ঙ্গ পেতে কিভাবে?


2

(শুধু এসও এ জিজ্ঞাসা করা হয়েছে কিন্তু এটা এখানে নিতে পরামর্শ দেওয়া হয়)

আমি রাস্পবেরী পাই 2 এবং খনি সার্ভারের মধ্যে একটি বিপরীত এসএসএইচ সুড়ঙ্গ তৈরি করতে সক্ষম হলাম (সার্ভারটি যার একটি স্ট্যাটিক আইপি আছে) এবং এটি সূক্ষ্ম কাজ করে। সার্ভারে যে ব্যবহারকারীর অ্যাকাউন্টটি ব্যবহার করছি সেটি "ksproxy" (এটি আসলে একটি "প্রক্সি" নয় তবে যাই হোক না কেন)।

এখন আমি তৈরি করার চেষ্টা করছি autossh (ডেবিয়ান / রাস্পিয়ান প্যাকেজ থেকে autossh ) খুব কাজ কিন্তু আমি সফল না। আমি বন্ধ হতে পারে।

(আমি এখানে এই আইপি বাস্তব আইপি পরিবর্তন করেছি 37.xxx.yyy.zzz সার্ভারের প্রকৃত আইপি পোস্ট করবেন না)

এখানে কি সূক্ষ্ম কাজ করে: (কোন autosh)

আরপিআই:

rspi@antlia:~ $ ssh -N -R 20000:localhost:22 ksproxy@37.xxx.yyy.zzz

সার্ভারে (স্ট্যাটিক আইপি সহ এক):

ksproxy@37.xxx.yyy.zzz:~$ ssh rspi@localhost -t -p 20000
rspi@localhost's password:
rspi@antlia:~ $

সুতরাং সবকিছু ঠিক কাজ করে: আমি পাসওয়ার্ডটি প্রবেশ করি এবং আমি একটি টার্মিনাল / প্রম্পট পেতে পারি।

আমি এমনকি আমার ডেস্কটপ থেকে রাস্পবেরী পাই অ্যাক্সেস করতে পারি (প্রথমে সার্ভারের মাধ্যমে যাচ্ছি), করছেন:

ssh -t ksproxy@37.xxx.yyy.zzz "ssh rspi@localhost -p 20000"
ksproxy@37.xxx.yyy.zzz password:
rspi@localhost's password:
...
rspi@antlia:~

এটি প্রথমে সার্ভারের পাসওয়ার্ডের জন্য জিজ্ঞাসা করে, তারপর পিআই এর পাসওয়ার্ডের জন্য এবং সবকিছু ঠিক আছে।

এ পর্যন্ত সব ঠিকই.

এখন আমি অটোশঃ এর সাথে একই সময় চেষ্টা করি:

rspi@antlia:~ $ autossh -M 20000 -N -i /home/rspi/.ssh/id_rsa ksproxy@37.xxx.yyy.zzz

ksproxy@37.xxx.yyy.zzz:~$ ssh rspi@localhost -p 20000

এই "কাজ করে" কিন্তু এটি শুধু কিছু আটকে আটকে আছে।

আমি ssh কমান্ডের আউটপুট "-vvv" করার চেষ্টা করেছি কিন্তু এটি দেখায় যে কিছুই চলছে না।

আমি অন্য পোর্ট চেষ্টা করলে, এটি ব্যর্থ হয়:

ksproxy@37.xxx.yyy.zzz:~$ ssh rspi@localhost -p 1234
ssh: connect to host localhost port 1234: Connection refused

আমি সঠিক পোর্ট (20000) কিন্তু এই সময় দিয়ে চেষ্টা করুন -t প্যারাম, একই জিনিস: এটি "কাজ করে" কিন্তু আমি কোন টার্মিনাল / প্রম্পট পাই না।

এখানে একটি -vvv আউটপুট

ksproxy@37.xxx.yyy.zzz:~$ ssh -vvv rspi@localhost -t -p 20000
OpenSSH_6.7p1 Debian-5+deb8u1, OpenSSL 1.0.1k 8 Jan 2015
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to localhost [127.0.0.1] port 20000.
debug1: Connection established.
debug1: key_load_public: No such file or directory
debug1: identity file /home/ksproxy/.ssh/id_rsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/ksproxy/.ssh/id_rsa-cert type -1
debug1: key_load_public: No such file or directory
...
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.7p1 Debian-5+deb8u1

এটি পাসওয়ার্ড চাওয়া হয় না, এটি কোনও টার্মিনাল / প্রম্পট দেখায় না।

আমি কি এখানে বুঝি না বা ভুল করছি?

মনে রাখবেন যে এটি "ফায়ারওয়ালিং ইস্যু" নয় বলে মনে হচ্ছে "অ অটোসেশ" পদ্ধতিটি সূক্ষ্ম কাজ করে (তবে আমি স্বয়ংক্রিয়ভাবে "সর্বদা আপ / পুনঃ সংযোগ বৈশিষ্ট্যটি স্বয়ংক্রিয়ভাবে পাই না)। আমি সত্যিই অটোশহ কাজটি করতে চাই (আমি জানি যে আমি একটি কার্যকারিতা খুঁজে পেতে পারি, যেমন কিছু ক্রোন্ট্যাব স্বয়ংক্রিয়ভাবে আমার ম্যানুয়াল এসএসএইচ সুড়ঙ্গ পুনরায় চালু করে কিন্তু এটি অটোশহ কাজটি করার চেয়ে আরও বেশি ভঙ্গুর হতে পারে)।

উত্তর:


1
$ autossh -M 20000 -N -i /home/rspi/.ssh/id_rsa ksproxy@37.xxx.yyy.zzz
...
$ ssh rspi@localhost -p 20000

এই ক্ষেত্রে, আপনি ssh ব্যবহার করছেন না -R একটি বিপরীত টানেল সেট আপ করার বিকল্প; আপনি autossh নির্দিষ্ট করা হয় -M পরিবর্তে বিকল্প। দ্য autossh -M পরামিতি অটোশঃটি সেই বন্দরে একটি সুড়ঙ্গ সেটআপ করে যা স্বয়ংক্রিয়ভাবে নিজের পদের জন্য ব্যবহার করে (নিয়মিত পরীক্ষা করে যে SSH লিঙ্ক এখনও কাজ করছে)। এটি ssh -R পরামিতির সমতুল্য নয়। এই দৃশ্যকল্পতে আপনি 20000 পোর্টে সংযোগ করলে, আপনি অটোসেশের ব্যক্তিগত সংযোগ-পরীক্ষার পোর্টে সংযুক্ত হয়েছেন।

আপনি ssh এর -R বিকল্প ব্যবহার করে যে বিপরীত টানেলটি নির্দিষ্ট করতে চান তা উল্লেখ করা উচিত। আপনি যদি অটোশহের ইকো পোর্ট বৈশিষ্ট্যটি ব্যবহার করতে চান তবে আপনাকে এটি একটি পৃথক পোর্টে চালানো উচিত:

$ autossh -M 20002 -N -R 20000:localhost:22 ksproxy@37.xxx.yyy.zzz

অনেক ধন্যবাদ, আমি একবার ব্যবহার এটি কাজ "-R" একটি বিপরীত টানেল নির্দিষ্ট করতে। আমি এসএসএইচ-এর সাথে খুব পরিচিত নই তবে আপনার উত্তর দেওয়ার জন্য আমাকে ধন্যবাদ হিসাবে কাজ করতে হয়েছিল: এখন আমি এটিকে সব লিখেছি (এবং উত্তর এখানে তাই নিরাপদ)।
Cedric Martin
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.