পূর্ববর্তী সমস্ত জবাব ছাড়াও, এখানে একটি যে এসএসএইচ কীগুলির উপর নির্ভর করে key কীটি দিয়ে লগ ইন করার সময় কী করা যায় তার উপর বিধিনিষেধ রয়েছে।
সার্ভার এ
আপনি যদি একটি পৃথক ব্যবহারকারী তৈরি করেন বা আপনার বিদ্যমান ব্যবহারকারীর নামগুলির একটি ব্যবহার করেন তবে এটির জন্য এটির পক্ষে কম গুরুত্বপূর্ণ, যদিও এটি যদি আমি হয় তবে আমি একটি পৃথক ব্যবহারকারী তৈরি করতাম। আমি bkpuserনীচের আমার উদাহরণগুলিতে উভয় সার্ভারের জন্য ব্যবহারকারীর নাম ব্যবহার করব ।
লগ ইন করার সময় bkpuser, পাসওয়ার্ড ছাড়াই একটি এসএসএইচ কী তৈরি করুন।
সার্ভারে বি
সক্রিয় করুন PubkeyAuthenticationমধ্যে sshd_config।
ব্যবহারকারী তৈরি করুন bkpuser। একটি খুব জটিল পাসওয়ার্ড সেট করুন, বা সেই ব্যবহারকারীর জন্য পাসওয়ার্ড লগইন অক্ষম করুন (আপনি কীভাবে এটি করেন তা নির্ভর করে আপনি কোন ইউনিক্স এবং ডিস্ট্রোটি চালাচ্ছেন তার উপর নির্ভর করবে)। পয়েন্টটি হ'ল ব্যবহারকারীর কেবল একটি এসএসএইচ কী দিয়ে লগ ইন করা উচিত। নিশ্চিত করো যেbkpuser সমস্ত ডিরেক্টরি এবং যে ফাইলটি আপনি ব্যাক আপ করতে চান তাতে অ্যাক্সেস রয়েছে।
এ টু ~bkpuser/.ssh/authorized_keysবি তে তৈরি কীটির সার্বজনীন অংশটি অনুলিপি করুন সংযোগের জন্য স্বয়ংক্রিয়ভাবে কমান্ড চালানোর জন্য সম্পাদনা করুন। এই কমান্ডটি শেল স্ক্রিপ্টের পয়েন্টার হওয়া উচিত নয়; পরিবর্তে সরাসরি কীতে শেল স্ক্রিপ্টটি প্রবেশ করান। একটি সীমাবদ্ধতা অন্তর্ভুক্ত করুন যাতে কীটি কেবল সার্ভার এ এবং অন্য কোনও সার্ভার থেকে ব্যবহার করা যায় না। নীচের উদাহরণে, আমি সার্ভার এ আইপি ঠিকানা 10.1.2.3দিচ্ছি এবং আমি ধরে নিচ্ছি যে আমি যে ফাইলগুলি ব্যাকআপ করতে চাই তা সবই নীচে /data।
from="10.1.2.3",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty,command="cd /data;/usr/bin/tar -cf - *; /usr/bin/logger -t BACKUP -p daemon.info \"INFO: Backup-files on $HOST fetched from ${SSH_CLIENT%% *} by $USER\";" ssh-dss AA.....
সার্ভার এ
আপনি যদি ক্রোন ট্যাবগুলির মধ্যে একটি ব্যবহার করে যা @rebootএন্ট্রিগুলিকে সমর্থন করে , bkpuserকমান্ডের সাথে s ক্রন্টাব এ যেমন একটি এন্ট্রি যুক্ত করুন ssh -i ~bkpuser/.ssh/id_dsa serverB > backup.tar.gz। যদি এটিগুলির অনুমতি না দেয় তবে আপনার পছন্দ মতো যে কোনও সময় সেট করুন - এটি যদি আমার ডেটা হত তবে আমি সম্ভবত এটি প্রতিদিনই করতাম।