এসএফটিপি, এসসিপি এবং এফআইএসএইচ প্রোটোকলের মধ্যে পার্থক্য কী?


59

আমার মনে হত এসসিপি হ'ল এসএসএইচের মাধ্যমে ফাইলগুলি অনুলিপি করার একটি সরঞ্জাম, এবং এসএসএইচ-র মাধ্যমে ফাইলগুলি অনুলিপি করা হয় এসএফটিপি, যা নিজেই এফআইএসএচ-এর প্রতিশব্দ।

তবে এখন আমি উইন্ডোজে এটি করার জন্য একটি মোট কমান্ডার প্লাগইন সন্ধান করছিলাম, আমি লক্ষ্য করেছি যে এর পৃষ্ঠায় এটি বলেছে "সুরক্ষিত এফটিপি (এসএসএইচ এর মাধ্যমে এফটিপি) এর মাধ্যমে দূরবর্তী সার্ভারগুলিতে অ্যাক্সেসের অনুমতি দেয়। এসএসএইচ 2 প্রয়োজন। এটি একই নয়। এসসিপি হিসাবে! "।

যদি তা একরকম না হয় তবে আমি কী ভুল বুঝাবুঝি করছি?


5
এটি পূর্ববর্তী প্রশ্নের একটি এক্সটেনশন । (@ ইভান: এটির উল্লেখ করা সহায়ক হত))
গিলস '' ই

আরও দেখুন superuser.com/q/134901/133844
পেরে

উত্তর:


57

এসএফটিপি এসএসএস-এর জন্য এফটিপি প্রোটোকল নয়, তবে এসএসএইচ 2 (এবং কিছু এসএসএইচ 1 বাস্তবায়ন) এর অন্তর্ভুক্ত এসএসএইচ প্রোটোকলের একটি এক্সটেনশন। এসএফটিপি হ'ল এফটিপি-র অনুরূপ ফাইল ট্রান্সফার প্রোটোকল তবে এসএসএইচ প্রোটোকলটিকে নেটওয়ার্ক প্রোটোকল হিসাবে ব্যবহার করে (এবং প্রমাণীকরণ এবং এনক্রিপশন পরিচালনা করতে এসএসএইচ ছেড়ে যাওয়ার উপকারিতা)।

এসসিপি কেবলমাত্র ফাইল স্থানান্তর করার জন্য, এবং অন্যান্য দূরবর্তী ডিরেক্টরি তালিকার মতো ফাইলগুলি অপসারণ করতে পারে না যা এসএফটিপি করে does

FISH অন্য একটি প্রোটোকল হিসাবে দেখা যাচ্ছে যা ফাইল স্থানান্তর করতে এসএসএইচ বা আরএসএইচ ব্যবহার করতে পারে।


11
যুক্ত যুক্তিযুক্ত: এফটিপিএসও রয়েছে, যা টিএলএসের উপরে এফটিপি।
মাইকমেকানা

3
@ মিমেকম্যাকানা আপনি তারপরে এফটিপিইএস জাদুকরী যুক্ত করতে পারেন একটি নিয়মিত এফটিপি সংযোগের মাধ্যমে স্পষ্টতই ftps ব্যবহারের সম্ভাবনা
কিউই

26

এসএসএইচ প্রোটোকল একটি সুরক্ষিত টানেল তৈরি করে যার মাধ্যমে আপনি দ্বিদ্বৈত প্রবাহকে স্থানান্তর করতে পারেন এবং আপনি যে স্ট্রিমটি আপনার পছন্দ মতো দুটি প্রক্রিয়া সংযোগ করতে ব্যবহার করতে পারেন।

সর্বাধিক পরিচিত দুটি প্রক্রিয়া হ'ল শেল (সার্ভারে) এবং একটি ইন্টারেক্টিভ টার্মিনাল এমুলেটর (ক্লায়েন্টে)। আপনি যখন কোনও সার্ভারে ssh করবেন এবং রিমোট শেলের প্রম্পটে কমান্ডগুলি টাইপ করবেন তখন আপনি এটি ব্যবহার করছেন।

এসসিপিটি কেবল সেই শেল এবং একটি রিমোট কমান্ড ব্যবহার করে ফাইল স্থানান্তর হয়। এসসিপিতে, ক্লায়েন্টটি একবার সার্ভারের সাথে সংযুক্ত হয়ে গেলে এবং সমস্ত প্রমাণীকরণ এবং অনুমোদন সম্পন্ন হয়ে গেলে ক্লায়েন্ট রিমোট শেলটির মতো একটি কমান্ড প্রেরণ করে scp -f myfile.txt, যা মাইফাইল.txt ফাইলটির বিষয়বস্তু প্রবাহে প্রবাহিত করে (ক্লায়েন্টের জন্য) পড়তে) বা scp -t myfile.txtযা প্রবাহ থেকে পড়ে এবং myfile.txt এ লিখেছে।

আপনি লক্ষ্য করবেন যে -f এবং -t ("থেকে" এবং "থেকে" এর জন্য) স্ক্রিপ ম্যানাপে নেই। এগুলি অভ্যন্তরীণ হিসাবে বিবেচিত হয়। একটি হালকা ওজনের স্বীকৃতি প্রকল্প এবং সরল শিরোনামে ফাইলের বিষয়বস্তু মোড়ক করে ডিরেক্টরি স্থানান্তর করার জন্য একটি পরিকল্পনা রয়েছে। তবে বেশিরভাগ অংশের জন্য এসসিপি হ'ল এসএসএইচ টানেলের উপর ফাইলের বাইটগুলি লেখার একটি মূল বিষয়, এসএসএইচকে সংকোচন এবং অখণ্ডতার মতো জটিল স্টাফের সাথে চুক্তি করে।

এসএফটিপি একটি আরও জটিল ফাইল স্থানান্তর প্রোটোকল, যা আবার এসএসএইচের মাধ্যমে সুড়ঙ্গ হয়।

এসএফটিপিতে উভয় অনুরোধ এবং প্রতিক্রিয়াগুলি হ'ল "এসএসএইচ_এফএক্সপি_ওপেন", "এসএসএইচ_এফএক্সপিপিএপিএটি", "এসএসএইচ_এফএক্সপি_এডিএডি", "এসএসএইচ_এফএক্সপি_ডাটা", "এসএসএইচ_এফএক্সপি_সিএলসিএস" এর মতো বাইনারি-এনকোড প্যাকেট।

প্রোটোকলের একটি আকর্ষণীয় বৈশিষ্ট্য হ'ল আদেশগুলি পাইপলাইন করা যেতে পারে এবং কোনও ক্রমে প্রতিক্রিয়া আসতে পারে। এর অর্থ এই হতে পারে যে সেশনগুলি প্রতিক্রিয়াগুলির জন্য অপেক্ষা করতে কম সময় ব্যয় করে, এবং বিভিন্ন গতির ডেটা-উত্সগুলির সাথে একটি সার্ভার থেকে একত্রে স্থানান্তর স্থানান্তরকে অনুকূলিত করার সুযোগ রয়েছে - যদিও আমি জানি না যে এই সুযোগগুলি কী পরিমাণে নেওয়া হয়েছে।

এসপিটিপি-র এমন অনেকগুলি কাজ করার আদেশ রয়েছে যা এসসিপি সম্বোধন করে না; যেমন মুছুন, পুনঃনামকরণ, ছাঁটাই, সরানো ইত্যাদি

সমস্ত বিবরণ একটি আইইটিএফ খসড়াতে উপলব্ধ

এটি লক্ষ্য করার মতো যে নতুন এসএসএইচ প্যাকেজগুলি ব্যবহারকারী scpবাইনারিটিকে এসএফটিপি বাইনারিতে একটি সিমিলিংক দ্বারা প্রতিস্থাপন করে । এই এসএফটিপিতে স্ক্যাপের চেহারা এবং অনুভূতি রয়েছে তবে এটি এসএফটিপি প্রোটোকল ব্যবহার করছে the

উদ্ধৃতি - ও'রিলি এসএসএইচ: সুরক্ষিত শেল, সংজ্ঞা নির্দেশিকা , বিভাগ 5.7 "সাবসিস্টিমেস":

সতর্কতা: sshd2_config থেকে সাবসিস্টেম-sftp লাইনটি সরিয়ে ফেলবেন না: এটি scp2 এবং sftp কাজ করার জন্য প্রয়োজন। অভ্যন্তরীণভাবে, উভয় প্রোগ্রামই ফাইল স্থানান্তর সম্পাদনের জন্য ssh2 -s sftp চালায়।

মাছ ইতিহাসের একটি আকর্ষণীয় অংশ। ধরা যাক আপনি এসএসএইচের মাধ্যমে ফাইলগুলি স্থানান্তর করতে চান তবে আপনার দূরবর্তী সিস্টেমে এসসিপি নেই। অথবা সম্ভবত আপনি এসসিপি এর চেয়ে বেশি পরিশীলিত ফাইল অপারেশন করতে চান তবে আপনার দূরবর্তী সিস্টেমে এসএফটিপি নেই। সেই দৃশ্যগুলির কোনওই সম্ভবত আজকের নয়, তবে যখন মাছ আবিষ্কার হয়েছিল, সেগুলি ছিল।

সুতরাং ক্লায়েন্ট মিডনাইট কমান্ডারের বিকাশকারীরা তাদের নিজস্ব সমাধান তৈরি করার বিষয়ে সেট করলেন। এটি নীতিগতভাবে স্ক্যাপের অনুরূপ, তবে আরও কমান্ড রয়েছে। ক্লায়েন্ট কমান্ডগুলি প্রেরণ করে যা দেখতে:

 #RETR /some/name
 ls -l /some/name | ( read a b c d x e; echo $x ); echo '### 100'; cat /some/name; echo '### 200'

আপনি যদি কোনও ফিশ সার্ভারের সাথে কথা বলছেন তবে তা #RETRকমান্ডটি ব্যাখ্যা করবে । তবে যদি রিমোট সার্ভারে ফিশ সার্ভার ইনস্টল না থাকে তবে কমান্ডগুলি শেল দ্বারা ব্যাখ্যা করা হবে। প্রথমে একটি মন্তব্য, তারপরে একটি কমান্ড যা ফাইল সম্পর্কে তথ্য প্রিন্ট করে, তারপরে কিছু চিহ্নিতকারীকে ঘিরে রাখা ফাইলের সামগ্রীগুলি।

কার্যকরভাবে, scp বা মাছের অভাবে ক্লায়েন্ট "নিজস্ব নিজস্ব" স্ক্রিপ সমতুল্য করেছে - তবে এটি সমানরূপে নাম পরিবর্তন, সরানো, কাটা কাটা ইত্যাদিতে শেল কমান্ড প্রেরণ করতে পারে

মাছ বিবরণ মধ্যরাত্রি কমান্ডার উৎস রয়েছে এখানে

শেষ ব্যবহারকারীর দৃষ্টিকোণ থেকে এগুলি কী বোঝায়?

  • পুরানো এসএসএইচ সার্ভার বাস্তবায়নগুলি এসপিএফ সমর্থন করে তবে স্কিপ সমর্থন করে না; আপনি এগুলি সহ কোনও এসএফটিপি ক্লায়েন্ট ব্যবহার করতে পারবেন না
  • কর্মক্ষমতা, নির্ভরযোগ্যতা এবং নমনীয়তার জন্য এসএফটিপি ব্যবহার করুন
  • আপনার "scp" ক্লায়েন্ট ছদ্মবেশে একটি SFTP ক্লায়েন্ট হতে পারে ( উদ্ধৃতি আবশ্যক )
  • মাছ কুলুঙ্গি পরিস্থিতিতে কার্যকর হতে পারে, তবে অন্যথায় আরও স্ট্যান্ডার্ড এসএফটিপি ব্যবহার করুন।

20

এটি সহজ রাখুন:

SFTP = SSH + SFTP-server on server
SCP  = SSH + `scp` on server side
FISH = SSH + `dd` (and some other basic Unix utilities on the server side only) 

1
তবে sftpএবং scpFISH এর বিপরীতে সার্ভার সাইডে বিশেষ প্রোগ্রামগুলির প্রয়োজন, যা দূরবর্তী শেলটিতে কেবলমাত্র বেসিক ইউনিক্স ইউটিলিটি ব্যবহার করে।
imz - ইভান জাকারিয়াচেব

এফআইএসএইচের বর্ণনা অনুসারে, এফআইএসএইচ-এর একটি উল্লেখযোগ্য বৈশিষ্ট্য হ'ল এর জন্য দূরবর্তী পার্শ্বে বিশেষ কিছু প্রয়োজন হয় না (কোনও সার্ভার প্রোগ্রাম যেমন scpস্কেপ বা এসএফটিপি-সার্ভারের জন্য নয়)। এবং প্রকৃতপক্ষে এমন ক্ষেত্রে রয়েছে যখন দূরবর্তী পক্ষটি একটি "সীমাবদ্ধ" ইউনিক্স, যেখানে আপনি যা চান সেটি ইনস্টল করতে পারবেন না: এসএসএইচ (ওয়াইফাইয়ের মাধ্যমে) অ্যান্ড্রয়েডে ফাইল স্থানান্তর করার জন্য, আমি আরপিশ-ক্যাট স্ক্রিপ্টগুলির সেটটি লিখেছি - সম্ভবত, একটি FISH ক্লায়েন্ট কাজ করবে। ( tramp-fish.elইমাক্সেও এটি সম্ভব ছিল: নিয়মিত ট্রাম্প ক্লায়েন্ট কাজ করতে পারেনি কারণ statঅ্যান্ড্রয়েডে ছিল না))
ইম্জ - ইভান জ্যাকারিয়াশেভ

2
আপনি কীভাবে scpক্লায়েন্ট পাশ ছাড়াও সার্ভার সাইডেও প্রয়োজন তা বিশদভাবে বলতে পারেন? একটি দ্রুত গুগল অনুসন্ধানের সাথে, আমি এমন কোনও কিছুই খুঁজে পেলাম না যা নিশ্চিত করে যে scpএটিও সার্ভার সাইডে প্রয়োজন।
জোহানেস বিটনার

11

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

FISH- র অনুলিপি করার জন্য একটি শেল প্রয়োজন (উদাহরণস্বরূপ sh / rrs), এবং সুতরাং মেশিনে সম্পূর্ণ এসএসএইচ অ্যাক্সেসের প্রয়োজন, আমি ধারণা করব এটি নিরাপদ করা আরও কঠিন হবে (আমি কখনই হয়নি বলে আমি এ বিষয়ে উদ্দেশ্যমূলক মন্তব্য করতে পারি না)।

যেখানে সম্ভব, আমি এসএফটিপি, স্কিপ, ফিশ (সেই ক্রমে) সুপারিশ করব।

উইকিপিডিয়া এফআইএসএইচ নিবন্ধ


সংযুক্ত বিবরণ অনুসারে, এফআইএসএইচ-এর একটি উল্লেখযোগ্য বৈশিষ্ট্য হ'ল এর জন্য দূরবর্তী দিকের কোনও বিশেষ কিছু প্রয়োজন নেই (কোনও সার্ভার প্রোগ্রাম নেই, যেমন scpস্ক্যাপ বা এসএফটিপি-সার্ভারের জন্য)। এবং প্রকৃতপক্ষে এমন ক্ষেত্রে রয়েছে যখন দূরবর্তী পক্ষটি একটি "সীমাবদ্ধ" ইউনিক্স, যেখানে আপনি যা চান সেটি ইনস্টল করতে পারবেন না: এসএসএইচ (ওয়াইফাইয়ের মাধ্যমে) অ্যান্ড্রয়েডে ফাইল স্থানান্তর করার জন্য, আমি আরপিশ-ক্যাট স্ক্রিপ্টগুলির সেটটি লিখেছি - সম্ভবত, একটি FISH ক্লায়েন্ট কাজ করবে। ( tramp-fish.elইমাক্সেও এটি সম্ভব ছিল: নিয়মিত ট্রাম্প ক্লায়েন্ট কাজ করতে পারেনি কারণ statঅ্যান্ড্রয়েডে ছিল না))
ইম্জ - ইভান জ্যাকারিয়াচেভ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.