আপনি যখন এটি একটি একা ssh অধিবেশনে করতে পারেন, চলমান কমান্ডের সাথে অনুলিপি করা ফাইলগুলি একত্রিত করা কিছুটা জটিল।
এই কাজটি মোকাবেলার সহজতম উপায় হ'ল তিনটি অপারেশনের জন্য পৃথক এসএসএইচ সেশন চালানো:
rsync -a inputs/ machineB:inputs/
ssh machineB 'some command -i inputs -o outputs'
rsync -a machineB:outputs/ outputs/
এর জন্য তিনবার মেশিনবিতে অনুমোদনের প্রয়োজন। একাধিকবার প্রমাণীকরণ এড়াতে প্রস্তাবিত উপায় হ'ল ওপেনএসএইচএইচ এর আধুনিক সংস্করণে সংযোগ ভাগ করে নেওয়ার সুবিধাটি ব্যবহার করুন: বি এর সাথে একবারে মাস্টার সংযোগ শুরু করুন এবং এসএসএইচটিকে স্বয়ংক্রিয়ভাবে সেই মাস্টার সংযোগের উপরে পিগব্যাক দিন। আপনার সাথে একটি লাইন যুক্ত করুন ControlMaster auto
এবংControlPath
~/.ssh/config
তারপরে পটভূমিতে একটি মাস্টার সংযোগ শুরু করুন, তারপরে আপনার কার্য সম্পাদন করুন।
ssh -fN machineB # start a master connection in the background
# Subsequent connections will be slaves to the existing master connection
rsync -a inputs/ machineB:inputs/
ssh machineB 'some command -i inputs -o outputs'
rsync -a machineB:outputs/ outputs/
ফাইলগুলি অনুলিপি করতে scp বা rsync ব্যবহার না করে, এসএসএইচএফএসের আওতায় রিমোট ফাইল সিস্টেমটি মাউন্ট করা সহজ হতে পারে । এটি উপায় দ্বারা একটি মাস্টার সংযোগ স্থাপনের যত্ন নেবে (ধরে নিলে আপনি ~/.ssh/config
উপরে বর্ণিত হিসাবে সেট আপ করেছেন )।
mkdir /net/machineB
sshfs machineB: /net/machineB
cp -Rp inputs /net/machineB/
ssh machibeB 'some command -i inputs -o outputs'
cp -Rp /net/machineB/outputs .
cat file | ssh user@host 'cat > /destination/of/file; /path/to/script &>/dev/null; cat results' > /destination/of/results