আমি কীভাবে scp ব্যবহার করে দূরবর্তী থেকে স্থানীয় একটি ফোল্ডার অনুলিপি করব? [বন্ধ]


2692

আমি কীভাবে কোনও ফোল্ডার রিমোট থেকে স্থানীয় হোস্টে অনুলিপি করব scp?

আমি sshআমার সার্ভারে লগ ইন করতে ব্যবহার করি।
তারপরে, আমি fooস্থানীয়টিতে রিমোট ফোল্ডারটি অনুলিপি করতে চাই /home/user/Desktop

আমি কীভাবে এটি অর্জন করব?


61
ওপি-র প্রশ্নটি ছিল যে রিমোট হোস্টে ssh'd করার পরে দূরবর্তী থেকে স্থানীয় হোস্টে ফাইল অনুলিপি করা সম্ভব কিনা । আমি নিশ্চিত নই কেন কেন কোনও একক উত্তরই তার প্রশ্নের সঠিকভাবে সমাধান করে নি।
জেফড্রোর

3
প্রশ্নের ভিত্তিটি ভুল। একবার, ssh- এ লগইন করা হয়েছে, লগ-ইন করা মেশিন থেকে ফাইলগুলিকে কীভাবে লগ ইন করা ক্লায়েন্টের কাছে ফিরিয়ে আনতে হবে তা ধারণা, এটি নিজস্ব সংযোগ তৈরি করছে। সুতরাং সহজ সমাধানটি হ'ল স্থানীয় ওয়ার্কস্টেশনে একটি নতুন টার্মিনাল উইন্ডো তৈরি করা এবং স্কিপ চালানো যা দূরবর্তী সার্ভার থেকে স্থানীয় মেশিনে ফাইল স্থানান্তর করে। উদাহরণস্বরূপ, scp -i কী ব্যবহারকারী @ রিমোট: / রিমোট-ডির / রিমোট-ফাইল / লোকাল-ডির / লোকাল-ফাইল
জেফমেকনিল

12
প্রশ্নটি অফ-টপিক হতে পারে তবে এটি গুগলে সর্বোচ্চ র‌্যাঙ্কড পোস্টও রয়েছে। এটিকে লক করা মানে এর চেয়ে ভাল সমাধান দেওয়ার জন্য কেউ এটিকে আপডেট করতে পারে না।
অ্যালেক্স হার্ভে

3
আমি সম্প্রতি সুপার ইউজারে অন্য একটি সরঞ্জামের জন্য কমান্ড লাইন সম্পর্কিত অনুরূপ "কিছুটা গভীরতর" প্রশ্নটি জিজ্ঞাসা করেছি এবং এটি সেখানে মোড দ্বারা স্ট্যাক ওভারফ্লোতে সরানো হয়েছিল। যাইহোক আমি মোডগুলির যুক্তিটির সাথে একমত: আমরা কী এটি সুপার ইউজারের কাছে স্থানান্তর করতে পারি দয়া করে এবং এটি আনলক করতে এবং আরও উত্তর আসতে পারে?
নিখিল ভিজে

3
সাধারণভাবে, স্ট্যাকওভারফ্লো সম্পর্কিত পুরো "অফ-টপিক" প্রতিক্রিয়া প্ল্যাটফর্মের একক বৃহত্তম ত্রুটি। অতিমাত্রায় মার্টিনেটস।
অ্যাডামসি

উত্তর:


4930
scp -r user@your.server.example.com:/path/to/foo /home/user/Desktop/

Foo এর শেষে '/' অন্তর্ভুক্ত না করে আপনি কেবল ডিরেক্টরিটির বিষয়বস্তু না রেখে ডিরেক্টরিটি নিজেই (বিষয়বস্তু সহ) স্থানান্তরিত করবেন।

থেকে man scp( অনলাইন ম্যানুয়াল দেখুন )

-r পুনরুক্তি করে সম্পূর্ণ ডিরেক্টরি কপি করুন


1407
আমি প্রতিবার এটি গুগল। সম্পর্কিত কমিক: xkcd.com/1168
cptloop

10
দু'টি সুন্দর-জানা আমি পেয়েছি: -Cপতাকাটি সংকোচনের যোগ -cদেয় এবং পতাকাটি আপনাকে আরও ভাল পারফরম্যান্সের জন্য অন্যান্য সাইফার প্রকারের মধ্যে দিয়ে দেয়, scp -c blowfish a@b:something . যেমন দিমুথুর উত্তরে দেখা যায়
অটোমেটিকো

79
ফাইল পরিবর্তনের সময়, অনুমতি ইত্যাদি সংরক্ষণের জন্য -p ব্যবহার করুন! scp -pr ব্যবহারকারী @ ...
Ber

27
এই উত্তরের গুরুত্বপূর্ণ ব্যাখ্যা নেই। আপনি কি শেষ করে দেবেন Desktop/fooনাকি আপনার কাছে Desktop/allcontentsofFooGohere
স্ক্যাপের

7
@ তোসকান আপনার সাথে scp -r user@your.server.example.com:/path/to/foo /home/user/Desktop/শেষ হওয়া উচিত Desktop/foo। সঙ্গে scp -r user@your.server.example.com:/path/to/foo/. /home/user/Desktop/ আপনি লিখিত সামগ্রীর শেষ হবে fooমধ্যে Desktopএবং সমস্ত উপ-dirs fooঅধীনে আকীর্ণDesktop
Ioannis

306

Scp এর পূর্ণ শক্তি ব্যবহার করতে আপনাকে পরবর্তী পদক্ষেপগুলি অতিক্রম করতে হবে:

  1. পাবলিক কী অনুমোদন
  2. এসএসএস এলিয়াস তৈরি করুন

তারপরে, উদাহরণস্বরূপ আপনার যদি এই ~ / .ssh / config থাকে :

Host test
    User testuser
    HostName test-site.com
    Port 22022

Host prod
    User produser
    HostName production-site.com
    Port 22022

আপনি পাসওয়ার্ড এন্ট্রি থেকে নিজেকে বাঁচাবেন এবং স্ক্রিপ সিনট্যাক্সটিকে আরও সহজ করুন :

scp -r prod:/path/foo /home/user/Desktop   # copy to local
scp -r prod:/path/foo test:/tmp            # copy from remote prod to remote test

আরও বেশি, আপনি দূরবর্তী পথ-সমাপ্তি ব্যবহার করতে সক্ষম হবেন:

scp test:/var/log/  # press tab twice
Display all 151 possibilities? (y or n)

হালনাগাদ:

রিমোট বাশ-সমাপ্তি সক্ষম করার জন্য আপনার <source>এবং উভয়টিতে বাশ শেল থাকা দরকার<target> হোস্টে বাশ-সমাপ্তির সঠিকভাবে কাজ করা দরকার। আরও তথ্যের জন্য সম্পর্কিত প্রশ্নগুলি দেখুন:

Scp ব্যবহার করার সময় দূরবর্তী পাথের জন্য কীভাবে স্বতঃপূরণ সক্ষম করবেন?
এসসিপি ফাইলের নাম ট্যাব সমাপ্তি


12
কনফিগার ফাইল সম্পর্কে জানতেন না, এটি দুর্দান্ত!
dmastylo

ট্যাব সমাপ্তি বাজে কথা, কেবল আমার জন্য স্থানীয় হোস্ট থেকে সম্পূর্ণ।
বার্নহার্ড

14
@ বি.লং প্রশ্নটি হল "কীভাবে স্থানীয় ডেস্কটপে রিমোট ফোল্ডার ফু কপি করবেন"। আমার উত্তরটি "scp -r প্রোড: / পথ / ফু / হোম / ব্যবহারকারী / ডেস্কটপ" । আশা করি আপনি সম্পর্কগুলি দেখতে সক্ষম হবেন।
আলেকজান্ডার ইয়ানচারুক

2
@ বার্নহার্ড আমার পক্ষে স্পষ্ট ছিল কারণ আমি বাশ শেল ব্যবহার করছি। আমাকে এটি নির্দেশ করার জন্য ধন্যবাদ! উত্তর আপডেট হয়েছে।
আলেকজান্ডার ইয়ানচারুক

1
@ আলেকজান্ডার ইয়ানচারুক: উত্তরের জন্য ধন্যবাদ, এটি কেবলমাত্র বাক্যবিন্যাসকে আচ্ছাদন করার চেয়ে আরও বিশদ is
গ্ল্যাডিয়েটার

216

স্থানীয় অবস্থান থেকে সমস্ত অনুলিপি করতে রিমোট অবস্থান (আপলোড)

scp -r /path/from/destination username@hostname:/path/to/destination

রিমোট অবস্থান থেকে সমস্ত অনুলিপি করতে স্থানীয় লোকেশন (ডাউনলোড) এ

scp -r username@hostname:/path/from/destination /path/to/destination

কাস্টম পোর্ট যেখানে xxxxহয় কাস্টম বন্দর সংখ্যা

 scp -r -P xxxx username@hostname:/path/from/destination /path/to/destination

থেকে বর্তমান ডিরেক্টরি অনুলিপি দূরবর্তী থেকে স্থানীয়

scp -r username@hostname:/path/from/file .

সাহায্য:

  1. -r পুনরাবৃত্তভাবে সমস্ত ডিরেক্টরি এবং ফাইলগুলি অনুলিপি করুন
  2. সর্বদা থেকে সম্পূর্ণ অবস্থান ব্যবহার করুন / পানpwd
  3. scp সমস্ত বিদ্যমান ফাইল প্রতিস্থাপন করবে
  4. hostname হোস্টনাম বা আইপি ঠিকানা হবে
  5. যদি কাস্টম পোর্টের প্রয়োজন হয় (পোর্ট 22 ছাড়াও) -P portnumber
  6. । (ডট) - এর অর্থ বর্তমান চলমান ডিরেক্টরি, সুতরাং সার্ভার থেকে ডাউনলোড / অনুলিপি করুন এবং কেবল এখানে আটকান।

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


1
মনে হয় (কমপক্ষে রাস্পবিয়ান জেসি এবং উবুন্টুর সাম্প্রতিক সংস্করণগুলিতে) স্ক্র্যাপ বন্দরের জন্য -P (বড় হাতের পি) ব্যবহার করে, যখন (অদ্ভুতভাবে) ssh -p (লোয়ারকেস) ব্যবহার করে।
অ্যাডাম প্লোচার

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

এসএসএস সহ, হ্যাঁ Scp দিয়ে নয় (আমি ধরে নিই)
অ্যাডাম প্লোচার

ডিরেক্টরিটিতে একটি স্থান থাকলে আমি কী রাখব?
ব্রেথ্লোজে

@hyprfrcb pwdঅবস্থান পেতে এবং একই ব্যবহারের জন্য ব্যবহার করুন
শিব সিং

48

আমি সবসময় যা ব্যবহার করি তা হ'ল:

scp -r username@IP:/path/to/server/source/folder/  .

। (বিন্দু) : এর অর্থ current folder। সুতরাং সার্ভার থেকে অনুলিপি এবং শুধুমাত্র এখানে পেস্ট করুন।

আইপি : এর মতো আইপি ঠিকানা 125.55.41.311হতে পারে বা এটি হোস্টের মতো হতে পারে ns1.mysite.com


9
.বর্তমান নির্দেশকে নির্দেশ করে বলে উল্লেখ করার জন্য আপনাকে ধন্যবাদ !
এরিকমজল

35

রিমোট সার্ভারে প্রথমে ক্যাটালগ সঙ্কোচন করা ভাল:

tar czfP backup.tar.gz /path/to/catalog

দ্বিতীয়ত, রিমোট থেকে ডাউনলোড করুন:

scp user@your.server.example.com:/path/to/backup.tar.gz .

শেষে, ফাইলগুলি বের করুন:

tar -xzvf backup.tar.gz

10
"বেটার" আপনি যে ডেটা স্থানান্তর করছেন তা এবং জিপিং / আনজিপিং করার জন্য সার্ভারে প্রেষণা করার প্রচেষ্টাটির উপর নির্ভর করে। এবং: আপনি -Cপতাকা সহ স্ক্র্যাপে সংক্ষেপণ যুক্ত করতে পারেন , পছন্দ করুন scp -C a@b:bigfile .
অটোমেটিকো

4
এটি আমাকে @ cptloop দ্বারা করা মন্তব্যের কথা মনে করিয়ে দেয়! : ডি xkcd.com/1168
গুডস্পিপি

22

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

এটি ফাইলের অনুলিপি সময়কে হ্রাস করবে।

scp -c blowfish -r user@your.server.example.com:/path/to/foo /home/user/Desktop/

2
এই ব্লগ পোস্ট অনুসারে আপনি arcfourস্থির সঙ্গে আরও উন্নত পারফরম্যান্স পাবেন blowfish, কিন্তু এটিতে নিরাপত্তা ত্রুটি রয়েছে।
অটোমেটিকো

20

সাধারণ দৃশ্য,

scp -r -P port username@ip:/path-to-folder  .

একটি নমুনা দিয়ে ব্যাখ্যা,

scp -r -P 27000 abc@10.70.12.12:/tmp/hotel_dump .

কোথায়,

port = 27000
username = "abc" , remote server username
path-to-folder = tmp/hotel_dump
. = current local directory

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

19

আপনার unityক্য সরঞ্জামদণ্ডে ফাইলগুলিতে যান

এখানে চিত্র বর্ণনা লিখুন

Ctrl + l টিপুন এবং এখানে_বয়েস_আপনার_ ব্যবহারকারী_নাম@192.168.10.123 লিখুন

192.168.1.103 হল এমন হোস্ট যা আপনি সংযোগ করতে চান।

এখানে একটি উদাহরণ

এখানে চিত্র বর্ণনা লিখুন


12

প্রশ্নটি ছিল কীভাবে কোনও ফোল্ডারটি স্থানীয় থেকে scpকমান্ড সহ কপি করতে হয় ।

$ scp -r userRemote@remoteIp:/path/remoteDir /path/localDir

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

$ sftp user_remote@remote_ip

sftp> cd /path/to/remoteDir

sftp> get -r remoteDir

Fetching /path/to/remoteDir to localDir 100% 398 0.4KB/s 00:00

sftpকমান্ড সম্পর্কে সাহায্যের জন্য টাইপ করুন helpবা ?


12

আপনি যদি "অনেক বেশি প্রমাণীকরণ ব্যর্থতা" চালিয়ে যান তবে আপনার সেভার্স এসএস সার্ভারে আপনি যুক্ত করেছেন এমন এসএসএইচ কীটি নির্দিষ্ট করুন:

scp -r -i /path/to/local/key user@remote.tld:/path/to/folder /your/local/target/dir

5

কেন জানি না তবে উত্স সার্ভারের নির্দেশের আগে আমাকে স্থানীয় ফোল্ডারটি ব্যবহার করতে হয়েছিল। এটা কাজ করতে

scp -r . root@888.888.888.888:/usr/share/nginx/www/example.org/

1
ব্যবহারকারীর অনুমতি রয়েছে বলে ধরে নেওয়া, আপনি কি ব্যবহার না করেই একটি নিখুঁত পথ করতে পারেনroot@
জোনাথন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.