ইউনিক্স মেশিন থেকে উইন্ডোজ মেশিনে যেখানে টার্গেট পাথের ফাঁক রয়েছে সেখানে ফাইল অনুলিপি করতে পিএসসিপি কীভাবে ব্যবহার করবেন?


14

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

pscp.exe -pw MyPassword root@127.0.0.1:/etc/myfolder/myfile.opt C:\download

তবে যখন আমি এটিতে এটি পরিবর্তন করি:

pscp.exe -pw MyPassword root@127.0.0.1:/etc/myfolder/myfile.opt C:\download files

আমি নিম্নলিখিত ত্রুটিটি পেয়েছি: একাধিক রিমোট উত্স সমর্থিত নয়।

আমি বুঝতে পেরেছি কারণ পিএসসিপি স্থানটিকে অন্য লক্ষ্য হিসাবে ব্যাখ্যা করে। তবে আমি কীভাবে এটি করতে পারি? আমি এটিকে উদ্ধৃতিতে রেখে স্থান থেকে পালানোর মতো সব ধরণের জিনিস চেষ্টা করেছি। আমি নিম্নলিখিত সমস্ত কিছুই চেষ্টা করেছি এবং কিছুই কাজ করে না:

pscp.exe -pw MyPassword root@127.0.0.1:/etc/myfolder/myfile.opt "C:\download files"
pscp.exe -pw MyPassword root@127.0.0.1:/etc/myfolder/myfile.opt C:\"download files"
pscp.exe -pw MyPassword root@127.0.0.1:/etc/myfolder/myfile.opt C:\download\\ files

কোন ধারনা?

উত্তর:


18

যদিও সঠিক উত্তরটি সম্ভবত উইনসিসিপি এবং তাদের সি # লাইব্রেরি ব্যবহার করা উচিত, লক্ষ্যমাত্রা ফোল্ডারে যখন একটি জায়গা থাকে তখন আমি পিএসসিপিকে কাজ করার একটি উপায় খুঁজে পেয়েছি।

সঠিক উত্তরটি এটি করা:

pscp.exe -pw MyPassword root@127.0.0.1:/etc/myfolder/myfile.opt "C:\download files"

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

"C:\My PSCP Folder\pscp.exe" -pw MyPassword root@127.0.0.1:/etc/myfolder/myfile.opt "C:\download files"

এবং আমি প্রসেস.স্টার্ট () ব্যবহার করে সি # থেকে এটিকে কল করার চেষ্টা করছিলাম এবং এটি ব্যর্থ হয়েছিল। দেখে মনে হয়েছিল এটি পিএসসিপি পাথ বা লক্ষ্য পথে উভয় জায়গাতেই যদি জায়গা থাকে তবে এটি এটি পরিচালনা করতে পারে। আমি আমার উইন্ডোজ এনভায়রনমেন্ট ভেরিয়েবলগুলিতে পিএসসিপি এক্সিকিউটেবলের পথটি অন্তর্ভুক্ত করে ঠিক করেছি। এখন আমি কেবল পিএসসিপি.এক্সই কল করতে সক্ষম এবং এটি লক্ষ্য ফোল্ডারের চারপাশে উদ্ধৃতিগুলির সাথে কাজ করে।


10

ব্যবহার করবেন না pscp

WinSCP ক্লায়েন্ট (যা পুটিং উপরে নির্মিত হয়) একটি উপলব্ধ .NET সমাবেশ । এখানে একটি উদাহরণ


ঠিক আছে আমি এটি তাকান এবং আমি একটি অন্য সমস্যার মধ্যে দৌড়ে। স্পষ্টতই উইনসিসিপিতে এসএসএইচ হোস্ট কী (যা আমার কাছে নেই) প্রয়োজন। আমি যখন পিএসসিপি ব্যবহার করছিলাম তখন হোস্ট কীটির স্বীকৃতি স্বয়ংক্রিয় করার একটি উপায় ছিল। তবে উইনসিসিপি সি # ডকুমেন্টেশন পড়তে আমি যা বলতে পারি তা থেকে হোস্ট কীটি স্বয়ংক্রিয়ভাবে গ্রহণ করার কোনও উপায় বলে মনে হয় না। কোন ধারনা?
কোরি বার্নেট

1
@ কোরিবার্নেট: আপনি কি সর্বদা একই সার্ভারের সাথে সংযোগ স্থাপন করছেন?
user1686

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

ব্যক্তিগতভাবে, আমি এটিকে একটি গুরুতর সুরক্ষা সমস্যা হিসাবে বিবেচনা করব যদি কোনও এসএসএইচ ক্লায়েন্ট যাচাইকরণ বা ব্যবহারকারীর নিশ্চিতকরণ ছাড়াই হোস্ট কী গ্রহণ করে।
user1686

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

1

গন্তব্য ফোল্ডারে একটি সময়কাল যুক্ত করুন। নিম্নলিখিত সংযুক্তদের সাথে কাজ করা উচিত আপনার উদাহরণে:

"C:\My PSCP Folder\pscp.exe" -pw MyPassword root@127.0.0.1:/etc/myfolder/myfile.opt "C:\download files\."

0
pscp.exe -pw MyPassword root@127.0.0.1:/etc/myfolder/myfile.opt "C:\download files"

প্রথমে, যেমন আপনি ইতিমধ্যে উল্লেখ করেছেন, আপনার পথে ফাঁকা জায়গা রয়েছে। সুতরাং "সি: \ ফাইলগুলি ডাউনলোড করুন" उद्धरणগুলি ব্যবহার করা বুদ্ধিমানের কাজ হবে। দ্বিতীয়টি যেমন আপনি ইতিমধ্যে দেখিয়েছেন যে কোনও অদ্ভুত পথ ছাড়াই পিএসএসপি কল করার জন্য আপনাকে আপনার অ্যাপ্লিকেশনটিকে আপনার পাথের সাথে যুক্ত করতে হবে। এবং তৃতীয়। নামকরণের কনভেনশনগুলি ব্যবহার করুন যা সমস্ত কিছু উদ্ধৃত করে এই গোলমাল প্রতিরোধ করে।

camelCaseNaming
underscore_naming

উভয়ই সমস্যার সমাধান করে এবং আপনি 100500 বার শীতল দেখেন।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.