দুটি নেটওয়ার্কের মধ্যে এসসিপি


12

আমার দুটি কম্পিউটারের মধ্যে একটি ফাইল স্থানান্তর করতে হবে যা একই নেটওয়ার্কের সাথে সংযুক্ত নয়। আমি একটি তৃতীয় কম্পিউটার পেয়েছি যা একটি ভিপিএন এর মাধ্যমে উভয় নেটওয়ার্ক দেখতে পারে।

তৃতীয় কম্পিউটার থেকে, আমি এটি করতে পারি:

scp root@firstcomputer:./file ./

এবং নিম্নলিখিত বাক্যটি দিয়ে স্থানান্তর শেষ করুন:

scp ./file root@secondcomputer:./

তবে আমি এটি কেবল একটি লাইনে করতে পারি না:

scp root@firstcomputer:./file root@secondcomputer:./

ত্রুটি প্রতিক্রিয়া হয়

ssh: connect to host secondcomputer port 22: No route to host
lost connection

আমি বুঝতে পারি এটি সম্ভবত কারণ ফার্স্ট কম্পিউটার কম্পিউটার দ্বিতীয় কম্পিউটারটি দেখতে পারে না। এসসিপিকে এমন একটি পরম দেওয়া কি সম্ভব যে এসসিপি প্রোগ্রামটি চালিত করে এমন মেশিনই কেবল দুটি কম্পিউটারই দেখতে পারে?

যাইহোক, তৃতীয় কম্পিউটারটি সিংহ সহ একটি ম্যাক এবং প্রথম এবং দ্বিতীয়টি দেবিয়ান চালাচ্ছে।

উত্তর:


3

আপনার একটি এসএসএইচ টানেল ব্যবহার করতে সক্ষম হওয়া উচিত।

ধরে নিই যে আপনি একটি রিমোট কম্পিউটার ("রিমোট") থেকে আপনার স্থানীয় কম্পিউটারে ("স্থানীয়") একটি ফাইল স্থানান্তর করার চেষ্টা করছেন, আপনার স্থানীয় কম্পিউটারে এটি লিখে তৃতীয় কম্পিউটারের ("গেটওয়ে") এর মাধ্যমে টানেলটি স্থাপন করুন:

ssh -fNL 12345:remote:22 gatewaylogin@gateway

তারপরে আপনি এই সুড়ঙ্গে সীমাহীন পরিমাণ এসসিপি কমান্ড চালাতে পারেন (এখনও আপনার স্থানীয় কম্পিউটারে টাইপ করছেন):

scp -P 12345 remotelogin@localhost://path/to/remote/file /local/path/where/you/want/file

আমি এটি কেবলমাত্র আমার নেটওয়ার্কে পরীক্ষা করেছি এবং এটি পুরোপুরি কার্যকর হয়েছে।

উপরের পদ্ধতিটি ঠিক আছে যদি দূরবর্তী নেটওয়ার্কটি সুরক্ষিত থাকে তবে এটি সুরক্ষিত না হলে আপনাকে স্থানীয় এবং গেটওয়ের মধ্যে একটি টানেল স্থাপন করতে হবে এবং গেটওয়ে এবং রিমোটের মধ্যে আরেকটি সুড়ঙ্গ স্থাপন করতে হবে, দুটি একটি সাধারণ বন্দর সংখ্যার সাথে সংযুক্ত করে।


21

Scp বিকল্প -3 আপনি যা খুঁজছেন তা হওয়া উচিত। এটি আপনার উদাহরণে রাখার জন্য:

scp -3 root@firstcomputer:./file root@secondcomputer:./

নোট করুন যে -3 বিকল্পটি প্রথম ওপেনএসএসএইচ 5.7-এ চালু হয়েছিল, যা ২০১১ এর প্রথম দিকে প্রকাশিত হয়েছিল was


আমার স্কিপি প্রয়োগ হয় না -৩ যখন আমি কোমন্ডটি কার্যকর করি আমি scp পাই: অবৈধ বিকল্প - 3 ব্যবহার: স্কিপ [-1246 বিসিপিকিআরভি] ...
জর্জিও

1
এটাই সঠিক. -3 কেবল ওপেনএসএসএইচ এর সর্বশেষতম সংস্করণে উপলভ্য, যা আমি নিশ্চিত নই যে ডেবিয়ান এখনও প্রয়োগ করেছে।
রিলিন্ডো

আহ, সে সম্পর্কে দুঃখিত। সংস্করণ প্রয়োজনীয়তা সম্পর্কিত উত্তর আপডেট।
andol

1

আপনি এটি চেষ্টা করতে পারেন:

root@firstcomputer:./file /tmp && scp /tmp/file root@secondcomputer:./ && rm /tmp/file

এটি তৃতীয় কম্পিউটারের / টিএমপি ডিরেক্টরিতে ফাইলটি অনুলিপি করবে এবং যদি এটি সফল হয় তবে এটি সেই ফাইলটিকে মাধ্যমিক কম্পিউটারে পুনরায় কিনে ফেলবে এবং তারপরে নিজেই পরিষ্কার হয়ে যাবে। যেহেতু আপনি && অপারেটর ব্যবহার করছেন, প্রতিটি কমান্ড কেবলমাত্র পূর্ববর্তী কমান্ড সফল হলে কার্যকর হবে।


&& অপারেটর সম্পর্কে জানতেন না। ব্যবহার করার চেয়ে ভাল;
জর্জিও

এটি একই কৌশলটি যা প্রথম উদাহরণটিতে ব্যবহৃত মূল প্রশ্নটি, যা এড়ানো চেষ্টা করছিল (কম্পিউটার এ থেকে লোকাল মেশিনে অনুলিপি করুন, তারপরে লোকাল ফাইলটি কম্পিউটার বিতে অনুলিপি করুন)।
জেসন সি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.