আমি কোনও পাসওয়ার্ড না দিয়ে কীভাবে দুটি হোস্টের মধ্যে একটি RSSync সেট আপ করতে পারি?
আমি কোনও পাসওয়ার্ড না দিয়ে কীভাবে দুটি হোস্টের মধ্যে একটি RSSync সেট আপ করতে পারি?
উত্তর:
নীচে গিক স্টাফের নিবন্ধটি দেওয়া হল :
১. এসএসএসের মাধ্যমে আরএসসিএন (পাসওয়ার্ড সহ) পরীক্ষা করুন:
এটি রিমোট সার্ভারে আপনার অ্যাকাউন্টের জন্য পাসওয়ার্ড চেয়েছে কিনা তা নিশ্চিত করার জন্য একটি আরএসসিএন করুন এবং সফলভাবে ফাইলগুলি রিমোট সার্ভারে অনুলিপি করেছেন।
নিম্নলিখিত উদাহরণটি স্থানীয় ফোল্ডারটি
/home/test
রিমোট ফোল্ডারে/backup/test
(192.168.200.10
সার্ভারে) সিঙ্ক্রোনাইজ করবে ।এটি আপনাকে রিমোট সার্ভারে আপনার অ্যাকাউন্টের পাসওয়ার্ড জানতে চাইবে।
rsync -avz -e ssh /home/test/ user@192.168.200.10:/backup/test/
2. ssh-keygen কী উত্পন্ন করে।
এখন সেটআপ করুন
ssh
যাতে আপনি ssh করার সময় এটি পাসওয়ার্ডের জন্য জিজ্ঞাসা করে না।ssh-keygen
সরকারী এবং ব্যক্তিগত কী তৈরি করতে স্থানীয় সার্ভারে ব্যবহার করুন।$ ssh-keygen
পাসফ্রেজ প্রবেশ করুন (কোনও পাসফ্রেজের জন্য খালি নয়):
আবার একই পাসফ্রেজটি প্রবেশ করুন: দ্রষ্টব্য: এটি আপনাকে পাসফ্রেজটি প্রবেশ করতে বললে কেবল enter কী টিপুন এবং এখানে কোনও পাসওয়ার্ড দেবেন না।
৩. ssh-copy-id দূরবর্তী হোস্টে সর্বজনীন কী অনুলিপি করে
ssh-copy-id
দূরবর্তী হোস্টে সর্বজনীন কী অনুলিপি করতে ব্যবহার করুন ।ssh-copy-id -i ~/.ssh/id_rsa.pub user@192.168.200.10
দ্রষ্টব্য: উপরেরগুলি দূরবর্তী হোস্টের ব্যবহারকারী অ্যাকাউন্টের জন্য পাসওয়ার্ড জিজ্ঞাসা করবে এবং উপযুক্ত স্থানে স্বয়ংক্রিয়ভাবে সর্বজনীন কী অনুলিপি করবে। যদি ssh-copy-id আপনার জন্য কাজ করে না, ssh পাসওয়ার্ড কম লগইন সেটআপ করতে আমরা আগে আলোচনা করা পদ্ধতিটি ব্যবহার করুন।
৪. পাসওয়ার্ড ছাড়াই এসএসএসের মাধ্যমে আরএসসিএন সম্পাদন করুন
এখন, আপনি পাসওয়ার্ডটি প্রবেশ না করেই দূরবর্তী হোস্টে ssh করতে সক্ষম হবেন।
ssh user@192.168.200.10
আরএসসিএনটি আবার সম্পাদন করুন, এবার আপনাকে কোনও পাসওয়ার্ড লিখতে বলা উচিত নয়।
rsync -avz -e ssh /home/test/ user@192.168.200.10:/backup/test/
সার্ভারে পাবলিক কী জেনারেট করুন
$ ssh-keygen
$ Enter passphrase (empty for no passphrase):
$ Enter same passphrase again:
সর্বজনীন কী উত্পন্ন এবং এতে সংরক্ষণ করা হবে
~/.ssh/id_rsa.pub
দূরবর্তী হোস্টে সর্বজনীন কী অনুলিপি করুন
ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.1.100
অথবা
~/.ssh/authorized_keys
। উপস্থিত না থাকলে ফাইলটি তৈরি করুন। ফাইল মোড 700 হয় তা নিশ্চিত করুন।এই সমস্ত সিএসআইএনসি পরামর্শ উবুন্টু 16.04 এলটিএসে আগস্ট 2017 এর সর্বশেষ সংস্করণটি ব্যবহার করে ব্যর্থ হচ্ছে। তাদের মধ্যে একটিও কাজ করে না।
তারা সকলেই ফাইল সার্ভারে চলমান আরএসসিএনএইচ ডেমন প্রয়োজনীয়তার ঘাটতি শেয়ার করে।
এই উত্তরটি জেনেরিক লিনাক্স এনএএস-এর সাথে কাজ করে
এখানে পদক্ষেপ রয়েছে:
1) নীচে দেখানো হিসাবে ব্যবহার করুন rsync। (/ mnt বা / মিডিয়ার অধীনে একটি ডিরেক্টরিতে বা আপনি তৈরি করেছেন এমন কোনও ডিভাইসে বা কোনও মাউন্ট। ফাইলজিলাও কাজ করবে।
এই সমস্ত (ফাইলজিলা ব্যতীত) কোনও পাসওয়ার্ড ছাড়াই ক্রোনটিতে কাজ করতে পারে।
এই সেটআপটি খুব ভাল কাজ করে। আরএসএ পাসওয়ার্ডহীন লগইনগুলি সেট আপ করার জন্য আপনি যখন প্রাথমিক এসএস-কপি-আইডি সেট আপ করেন তখন কেবলমাত্র আপনার পাসওয়ার্ডের প্রয়োজন হয়। তারপরে আপনি এটিকে একবার ফাইলজিলায় প্রোগ্রাম করবেন। তার পরে, দিনের পর দিন, কোনও পাসওয়ার্ড প্রম্পট হয় না। এটা সহজ. এবং সর্বোত্তম অংশটি হল আপনি আরএসসিএনসি প্রোগ্রামের সমস্ত সুবিধা ব্যবহার করতে পারেন।
এই উত্তরটি ব্যাখ্যা করে যে কীভাবে পাসওয়ার্ড ছাড়াই আরএসসিএনসি ব্যবহার করতে হয়।
এছাড়াও, কোনও সিস্টেমে আর একটি ডিমন (আরএসইএনসি) ইনস্টল করার দরকার নেই।
আপনার যদি ইতিমধ্যে না থাকে তবে এটি করুন:
ssh-keygen
ssh-copy-id -i ~/.ssh/id_rse.pub NASserver
এবং এটি দিয়ে এটি পরীক্ষা করে দেখুন:
ssh NASserver
এবং সম্ভবত এর মতো কিছু:
scp myfile myusername@NASserver:Documents
আমার একটি দ্বিতীয় হার্ড ড্রাইভ রয়েছে তাই আমি এসডিবি 1-তে একটি সাব-ডিরেক্টরিতে বুট ড্রাইভটি অনুলিপি করতে আরএসসিএনসি ব্যবহার করি (মাউন্টের নীচে মাউন্ট করা এবং আরএসসিএনসি থেকে বাদ দেওয়া হয়) luded
আপনার যদি কোনও শারীরিক হার্ড ড্রাইভ না থাকে এবং পর্যাপ্ত জায়গা উপলব্ধ থাকে তবে আপনি কেবল / mnt (বা / মিডিয়া) এর অধীন একটি উপ-ডিরেক্টরি তৈরি করেন এবং এটি ব্যবহার করুন।
ডিরেক্টরিটি যতক্ষণ না বাদ দেওয়া হয় ততক্ষণ এটি আলাদা ড্রাইভে রয়েছে কিনা তা বিবেচ্য নয়।
এখানে ব্যাকআপ স্ক্রিপ্ট:
cls
echo "EMPTYING TRASH"
rm ~/.local.share/Trash/*
echo "====================================================================="
echo " BEGINNING rsync from root to /mnt/full/sysbkp"
echo "====================================================================="
time sudo rsync -aAXv / --delete --ignore-errors --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} /mnt/full/mysystem
Rsync এর পরে স্ক্রিপ্ট ব্যবহার করুন:
আমি সবসময় লক্ষ্য ন্যাসেরওয়ার: / এমএনটি / ফুলসিস / মাইসিস্টেমের জন্য একটি নতুন ডিরেক্টরি তৈরি করি যাতে কেবল প্রাসঙ্গিক ফাইল স্থানান্তরিত হয়।
ssh -e"mv /mnt/fullsys/mysystem mysystem.bak" myusername@NASserver
ssh -e"mkdir /mnt/fullsys/mysystem" myusername@NASserver
scp -r /mnt/full/mysystem myusername@NASserver:/mnt/fullsys/mysystem
ভাল খবর! এটি কিছুক্ষণ সময় নেয় তবে এটি সম্পন্ন হয়।
উভয় স্ক্রিপ্ট ক্রোন মধ্যে সূক্ষ্ম কাজ করতে পারে।
বিকল্পটি হ'ল ফাইলজিলাটিকে ম্যানুয়ালি এনএএস সার্ভার প্রেরণের জন্য ব্যবহার করা।
যেহেতু মুছে ফেলা হতে পারে আমি সর্বদা
make a new directory and enter it
লক্ষ্য 1TB এইচডিডি তে ফাইলজিলার মাধ্যমে তাই কেবলমাত্র প্রাসঙ্গিক ফাইল স্থানান্তরিত হয়।
স্থানান্তর সমাপ্ত হলেই আমি পুরানো সংস্করণটি সরিয়ে ফেলব।
Voila। সাফল্য।
ঠিকানায় ব্যবহারকারী চিহ্নিত করুন ভাল হবে
ssh-copy-id -i ~/.ssh/id_rsa.pub <user_in_server>@192.168.1.100
rsync -aAVx $(ssh-copy-id -i /home/myusername/.ssh/id_rsa.pub)
তারপরে সমস্ত excludes
এবং --delete
আমি এটিকে এখনও কাজ করি নি তবে এটি আমার কাছে দেখা সবচেয়ে কাছের। সম্ভবত আপনি এটি করতে হবে এমনকি যদি আপনি ইতিমধ্যে ssh
এবং scp
লক্ষ্য সার্ভারে করতে পারেন তবে , এবং rsync ডেমনটি চালিত হওয়া দরকার কারণ এটি সাধারণ sftp ফর্ম্যাটটি ব্যবহার করে না। আমি এখনও অনুসন্ধান করছি।