বুটে একটি স্বয়ংক্রিয় বিপরীত এসএসএইচ সংযোগ তৈরি করে


9

আমার কাছে একটি NAT এর পিছনে একটি পিসি রয়েছে যা আমার ডিজিটোসায়ান ভিপিসিতে বিপরীত এসএসএইচ সংযোগ তৈরি করে। আমি আমার অফিসের পিসিতে লগ ইন করার জন্য বাড়ি থেকে এই বিপরীত এসএসএইচ সংযোগটি ব্যবহার করি (আমি এটি করার জন্য অনুমোদিত) এবং ফাইলগুলি অনুলিপি করতে এবং অন্যান্য গুরুত্বপূর্ণ কাজগুলি করতে।

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

অফিসের পিসিতে উত্পন্ন উত্সাহীন (আমার ব্রাউজিং তথ্য ভাগ করার প্রয়োজন হয় না) অজ্ঞাতনামা হিসাবে আমার বিপরীত সংযোগ + ডায়নামিক প্রক্সি তৈরি করতে আমি নিম্নলিখিত স্ক্রিপ্টটি চালাচ্ছি।

autossh -CD 8080 -i digitalOcean -R 8081:localhost:22 root@IPofDigitalOceanPC

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

দ্রষ্টব্য: rev.shফাইলের উপরের লাইনটি রয়েছে। শংসাপত্র "ডিজিটাল ওশান" এবং রেভ.শ অবস্থিত Ubuntu home। অতএব, আমি যখন ./rev.shআমার উবুন্টু টার্মিনালে চালিত করি তখন আমি একটি গতিশীল প্রক্সি পাই এবং ym ডিজিটাল ওশেন সার্ভারে অ্যাক্সেসও করি। এই পদ্ধতিটি 100% কাজ করে।

তবে আমি যখন নিম্নলিখিত পদ্ধতিতে ক্রেনস্টাব ইনস্টল করি তখন আমার উবুন্টু পিসি কখনই ডায়নামিক প্রক্সি তৈরি করে না। আমি এটি দেখতে পাচ্ছি কারণ যখন আমি গুগল ক্রোম থেকে এই প্রক্সিটি পরীক্ষা করি তখন এটি বলছে যে প্রক্সি সংযোগটি প্রত্যাখ্যান করছে।

শিকড়ের ক্রোনজবস হিসাবে আমি চেষ্টা করেছি এমন cronejobs এখানে। আমি এগুলি একটি সাধারণ ব্যবহারকারী হিসাবে চেষ্টা করেছিলাম, এখনও তারা কাজ করে না।

@reboot bash /home/user/rev.sh 
@reboot /home/user/rev.sh 
@reboot cd /home/user && ./rev.sh

তারপরে আমি বর্তমান সময়ের কয়েক মিনিট পূর্বে একটি ক্রেনস্টাব ইনস্টল করেছি এবং এটি কার্যকর হওয়ার জন্য অপেক্ষা করছিলাম।

24 12 8 * * * bash /home/user/rev.sh
24 12 8 * * * /home/user/rev.sh

এগুলিও কার্যকর হয় নি।

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


আপনার সমস্যাটি এখানে কী তা আমি নিশ্চিত নই। এটি ক্রোন কোন কাজ শুরু করছে না? নাকি স্ক্রিপ্ট কাজ করছে না? উভয় সমস্যা, দয়া করে লগ পরামর্শ করুন। ক্রোন কোথাও লিখতে হবে /var/log/cron*। পরীক্ষার উদ্দেশ্যে আপনি সহজেই এমন কিছু লিখতে পারেন */2 * * * * /path/to/script- এটি প্রতি 2 মিনিটে স্ক্রিপ্ট চালাবে। ব্যবহারকারী চলমান ক্রোন জন্য মেল পরীক্ষা করুন। এটি কি মূল? mailকমান্ড ব্যবহার করুন । ওহ, আমি দেখতে পাচ্ছি যে আপনি ssh কী ব্যবহার করছেন? আমি সন্দেহ করি যে আপনি যদি -iস্যুইচ করার পরে এটির পুরো পথ না দিয়ে থাকেন তবে ক্রোন জব এটি খুঁজে পেতে সক্ষম হবে ।
কালাভান

উত্তর:


8

আমি নিশ্চিত না যে cronপ্রারম্ভকালে স্ক্রিপ্ট চালানোর জন্য ব্যবহার করা যেমন একটি ভাল ধারণা। আমি আরও ফিট দেখতে পাই এমন একটি বিকল্প হ'ল এখানে বর্ণিত হিসাবে সিস্টেমডি পরিষেবা তৈরি করা । নামে একটি ফাইল তৈরি করুন /etc/systemd/system/autossh.service:

[Unit]
Description=Auto Reverse SSH
Requires=systemd-networkd-wait-online.service
After=systemd-networkd-wait-online.service
[Service]
ExecStart=/full/path/to/autossh -CD 8080 -i digitalOcean -R 8081:localhost:22 root@IPofDigitalOceanPC
[Install]
WantedBy=multi-user.target

তারপরে রুট হিসাবে নিম্নলিখিত কমান্ডটি চালান:

systemctl enable autossh.service

1

কয়েকটি জিনিস যা আপনি চেষ্টা করতে পারেন:

chmod +x rev.sh

কখনও কখনও আপনার পথটি বুটের সময় বা ক্রোনজবসের মাধ্যমে পুরোপুরি সেট করা থাকে না, সুতরাং আমার সিস্টেমে অটোশকে পুরো পথ দিয়ে প্রতিস্থাপন করুন

/usr/bin/autossh

@ রিবুট মোটিফ ক্রোন ডেমন স্টার্টআপ সময়ের উপর নির্ভর করে, সুতরাং অন্যান্য সাবসিস্টেমগুলি (নেটওয়ার্ক?) চালু হওয়ার আগে এটি চালিত হতে পারে may

এবং আপনার crontab উদাহরণ:

24 12 8 * * * bash /home/user/rev.sh

প্রতি মাসের 8 তারিখে কেবল প্রার্থনা করবে। এবং এটি একটি অতিরিক্ত ক্ষেত্র আছে। চেষ্টা

24 12 * * * /home/user/rev.sh

দুঃখিত এটি একটি ভুল ছিল। আমি '24 12 * * * / home/user/rev.sh 'চেষ্টা করেছিলাম কিন্তু এটি এখনও কাজ করে না। আমার অবাক করার জন্য এমনকি '24 * * * * রিবুট' কাজ করে না।
ডেনিস

1
ওয়েল রিবুট অবশ্যই অভ্যাস কাজ করবে না যতক্ষণ না আপনি রুট হিসাবে প্রার্থনা করছেন।
স্লোকো

আমি / usr / বিন / অটোশ যোগ করার চেষ্টা করেছি। এটা কাজ করে না.
ডেনিস

আমি 24 12 8 * * * শিকড়ের ক্রন্টবায় পুনরায় বুট করার চেষ্টা করেছি। এটা কাজ করে না. এটি আপনার কাজ করে?
ডেনিস

/usr/binPATHcron
রোয়াইমা

1

দেখে মনে হচ্ছে, যখন স্ক্রিপ্টটি ক্রন্টাবের মাধ্যমে কার্যকর করা হয় এটি আপনার শংসাপত্রটি খুঁজে পাবে না।

আপনি যখন ব্যবহারকারী হিসাবে স্ক্রিপ্টটি সম্পাদন করেন, এটি /home/ubuntu-user/.ssh / থেকে শংসাপত্র ব্যবহার করে ... তবে স্ক্রন্টটি ক্রোনট্যাব থেকে চালিত করার সময় এটি রুট হিসাবে চলে। রুটটি /root/.ssh থেকে শংসাপত্র নেয়

সুতরাং এটি কাজ করার জন্য আপনার কাছে একাধিক উপায় রয়েছে তবে আমি মনে করি ক্রোন্টাবের উবুন্টু-ব্যবহারকারী হিসাবে স্ক্রিপ্টটি চালানো এটি করে।

সম্পাদনা:

শংসাপত্রের জন্য একটি সম্পূর্ণ যোগ্য পাথ প্রদান নিশ্চিত করুন



0

প্রশ্নটিতে যেহেতু এতটা ডেটা নেই, তাই আমি কী করব তা শুরু থেকে শুরু করব

আমি সমস্ত কনফিগারেশনগুলি / etc / ssh / ssh_config এ রেখে দেব:

 Host mytunnel
    HostName      IPofDigitalOcean
    User          root     # Are you sure about this??
    IdentityFile  /etc/ssh/mytunnel_key
    RemoteForward 8081 localhost:22
    DynamicForward 8080

আমি চাবিটি wouldুকিয়ে দিতাম /etc/ssh/mytunnel_key

তারপরে আমি ক্রোন এন্ট্রি দিয়ে চেষ্টা করব (একটি upstart / systemd পরিষেবা আরও ভাল হবে):

@reboot /usr/bin/autossh -f -M 0 -T -N mytunnel

0

টার্মিনাল ছাড়াই চালানোর সময় আপনাকে -f ব্যবহার করতে হবে এবং একটি কমান্ড চালাতে হবে run সুতরাং এখানে একটি উদাহরণ:

autossh -M 12374 \
-R 2205:127.0.0.1:22 \
-p 2200 \
-f \
user@www.hostname.com \
sleep 31536000

-ফ এটিকে ব্যাকগ্রাউন্ডে রাখে তবে পটভূমিতে রাখার অর্থ যে ssh সংযুক্ত হবে, তার কাজ শেষ হওয়ার সাথে সাথে সংযোগ বিচ্ছিন্ন করে। সুতরাং আপনার একটি কাজ প্রয়োজন।

ঘুম 31536000 সংযোগের পরে 1 বছর "ঘুম" চালানোর জন্য এসএসএসকে বলে। এই সময়ে, আপনার টানেলগুলি আপ থাকবে।

আপনি যদি কোনও কমান্ড না চালান, ssh সংযোগ স্থাপন করবে, 2205 পোর্টে বিপরীত টানেল সেটআপ করবে এবং এটি দিয়ে এটি শেষ হয়ে গেলে এটি প্রস্থান করবে। অটোশ ব্যবহার করে, সংযোগ ব্যর্থ হলে, এটি পুনরায় সংযুক্ত হয়ে আবার ঘুম পুনরায় আরম্ভ করবে। এমনকি একটি সত্যিকারের স্থিতিশীল ইন্টারনেট সংযোগ থাকা সত্ত্বেও, আমি সন্দেহ করি যে একটি বছর সম্ভব।

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

-ফ এবং "আদেশ"

আপনি কি অনুপস্থিত।


1
আমি মনে করি না যে আমাদের এখানে অন্য লোকের নাম ডাকতে হবে।
জেফ শ্যাচলার

1
আমি অন্য লোকের নাম বলছি না। আমি আগে যে সমাধানগুলির পরামর্শ দিয়েছিলাম সেগুলি নির্দেশ করে দিচ্ছি যাঁরা তাদের পরামর্শ দিয়েছিলেন তারা কখনও চেষ্টা করেন নি। বিশ্বাস করবেন না? তাদের চেষ্টা করুন।
জিম্মিনি দো

1
আমি মনে করি না যে আপনি প্রশ্নের পয়েন্টটি সম্বোধন করেছেন, - ওপি দাবি করে যে এই পদ্ধতিটি 100% কাজ করে । আমি বিশ্বাস করি তাদের পিসি পুনরায় চালু হওয়ার পরে একটি স্বয়ংক্রিয় পদ্ধতিতে তাদের স্ক্রিপ্টটি চালানোর চারপাশে তাদের প্রশ্নকেন্দ্রগুলি রয়েছে।
জেফ শ্যাচলার

1
যদি তিনি কর্মস্থলে থাকেন তবে তিনি বাড়িতে বিপরীত টানেলগুলি সেটআপ করতে পারেন, কারণ ওপি একটি টার্মিনালে চলছে - যা সময়ের 100% কাজ করে। প্রক্রিয়াটির সাথে টার্মিনাল যুক্ত না থাকলে ssh (এবং অটোশ) প্রোগ্রামগুলি আলাদাভাবে কাজ করে। ক্রোনটব (যা টার্মিনাল ছাড়াই চলে) সুরক্ষাগুলি পুনরায় সংযোগ স্থাপন করতে সমস্যা হয়েছিল, কারণ তিনি -f ব্যবহার করছেন না, এবং এমনকি যদি তিনি ছিলেন, টানেলগুলি সেট আপ হয়ে গেলে কোনও কিছু না চালিয়ে এসএসএস প্রস্থান করত - আমার ক্ষেত্রে, আমি যাই এক বছরের জন্য ঘুম চালান। স্ক্রিপ্ট -f এ অবশ্যই একটি কম্যান্ডের সাথে ব্যবহার করা উচিত যা এসএসএইচকে প্রস্থান হতে বাধা দেয়। এটাই তার সমস্যা।
জিম্মিনি দো

1
আমি মনে করি যে আপনি, জেফ শ্যাচালার, আমাকে ডাউনটায়েট দেওয়ার জন্য, সঠিক সমাধান দেওয়ার জন্য এবং আসলে এটি পরীক্ষা করার জন্য was আমি মূলত সে হিসাবে ঠিক একই সেটআপটি করছি, আমি ফায়ারওয়াল এবং স্টার্টআপ rdesktop পেরিয়ে একটি পিআই স্থাপন করছি এবং এটি আমাদের অফিসের ম্যানেজারকে প্রদান করছি, যিনি লিনাক্স সম্পর্কে কিছুই জানেন না, এটি ব্যবহার করার জন্য । খুব নির্দিষ্ট আমার কাছে একটি বুলেটপ্রুফ সমাধান রয়েছে, যেহেতু আমি এখন এটি ব্যবহার করছি এবং আমি আমার পাইগুলি দূরবর্তীভাবে পুনরায় চালু করেছি এবং আমার স্থানীয় তারের মডেম - কেবল নিরাপদ রাখতে .. তবে হেক, সঠিক উত্তরটি letুকতে দেবেন না অবিচ্ছিন্ন, অচেনা, অহংকারের উপায়।
জিম্মিনি দো
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.