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


37

আমি আমার ল্যাপটপে এটি ব্যবহার করে দূরবর্তী অনুলিপি করেছি:

scp someFile USER@192.168.178.32:/home/USER/put/it/some/where/oh/damn/you/here

আমি ট্যাবটি হিট করে দূরবর্তী পথটি স্বতঃপূরণ করতে সক্ষম হতে চাই।


1
এটি এর জন্য সক্ষম করা হয়েছে rsync, যা আমার মতে scp
তুলনামূলক বেশি

3
এটি ডিফল্টরূপে সক্ষম হয়েছে zsh
স্টাফেন গিমেনেজ

3
এটি এটির scpজন্যও সক্ষম , কমপক্ষে এটি এখানে কাজ করে। আপনার ইতিমধ্যে একটি এসএসএস-এজেন্টের সাথে যুক্ত একটি এসএস-কি দরকার।
এনজোটিব

উত্তর:


24

নিশ্চিত হয়ে নিন যে আপনি অভিনব স্বাবলম্বতা চালু করেছেন। অনেক বিতরণে এর অর্থ এটি আপনার ~/.bashrcধারণ করে . /etc/bash_completion

আপনার পাসওয়ার্ডহীন প্রমাণীকরণ স্থাপন করতে হবে, অর্থাত্ ইতিমধ্যে লোড হওয়া একটি কী সহ ssh-agent

একটি এসএসএইচ সংযোগ স্থাপন ধীর গতির, তাই আপনি একবার এবং সবার জন্য একটি সংযোগ স্থাপন করে এবং তারপরে সেই সংযোগটি ব্যবহার করে সম্পূর্ণরূপে গতি বাড়িয়ে তুলতে পারেন। এটি করার অপেক্ষাকৃত জটিল উপায় হ'ল ssh -N -M target-hostমাস্টার-স্লেভ সংযোগ স্থাপনের পরে মাস্টার এসএসএইচ সংযোগটি খোলা ~/.ssh/config; নির্দেশাবলীর জন্য একক কমান্ডে একাধিক ssh সেশন দেখুন (আপনার প্রয়োজন ControlMasterএবং ControlPathবিকল্পগুলি প্রয়োজন )।

সহজ পদ্ধতিটি হ'ল দূরবর্তী ফাইল সিস্টেমটি এসএসএইচএফএসের উপর মাউন্ট করা এবং cpসাধারণ শেল সমাপ্তির সাথে ব্যবহার করা ।

mkdir ~/remote
sshfs USER@192.168.178.32:/home/USER ~/remote
cp -p someFile ~/remote/put/it/some/where/oh/damn/you/here

দেখে মনে হচ্ছে কিছু /etc/bash_completionউত্সে আছে ~/.bash_completion। আমি এই বৈশিষ্ট্যটি একটি দূরবর্তী সার্ভারে রাখতে সক্ষম হতে চাই যেখানে আমি লিখতে পারি না /etc/এবং সেখানে কোনও নেই /etc/bash_completion(যদিও রয়েছে is /etc/bash_completion.d/এমন কোনও সংস্করণ আছে যা আমার হোম ডিরেক্টরি থেকে চালানো নিরাপদ হবে? এখানে কমপক্ষে একটি উল্লেখ রয়েছে) b / .বাশ_কম্পলশন তাই আমি আশঙ্কা করছি যে আমি আরও কিছু মিস করছি এবং সেখানে একটি চক্রীয় লুপ বা অন্য কিছু হতে পারে যা ত্রুটির কারণ হতে পারে
redbmk

7

আমার যা করার দরকার তা হ'ল দূরবর্তী মেশিনে আমার সর্বজনীন কী যুক্ত করা:

cat ~/.ssh/id_rsa.pub | ssh USER@192.168.178.32 "cat - >> ~/.ssh/authorized_keys"

এবং এখন scpট্যাব সম্পূর্ণ।

আপনার কীগুলি প্রথমে সেট আপ করতে হলে এখানে দেখুন।


7
এটি ssh-copy-idএটির জন্য, প্লাস এটি আপনার জন্য ফাইল অনুমতিগুলি পরিচালনা করবে।
গ্লেন জ্যাকম্যান

2

আপনি scp ব্যবহারের পরিবর্তে lftp এ পরিবর্তন করতে পারেন। এটি আপনাকে এফটিপি, এসএফটিপি এবং এসএসএসের মাধ্যমে ফাইল সন্ধানের জন্য স্বতঃসম্পূর্ণ এবং আরও অনেকগুলি (অর্থাত্ ওয়াইল্ডকার্ডস) সহ একটি ভাল ধারাবাহিক ইন্টারফেস দেয়।

lftp માછલી: // ব্যবহারকারী @ মেশিন

আপনি উপরে স্কিপ দিয়ে যেমন করেন তেমন এসএসএসের মাধ্যমে একটি সংযোগ খোলে। অনেক মেশিন sftp: // সমর্থন করে যা আমার অভিজ্ঞতায় আরও ভাল।


0

@ গাইলস যেমন বলেছে , মেশিনে আপনার কী ssh আছে তা সঠিকভাবে নিশ্চিত হয়ে নিন যে আপনার স্বয়ংক্রিয়ভাবে সেটআপ সেটআপ হয়েছে।

আমার এই কনফিগারেশনটি যুক্ত করা ~/.ssh/configগতির মধ্যে একটি বিশাল পার্থক্য তৈরি করেছে।

Host *
 ControlMaster auto
 ControlPath ~/.ssh/master-socket/%r@%h:%p
 ControlPersist 10s

এটি প্রতিটি হোস্টের জন্য একটি মাস্টার সংযোগ তৈরি করবে।

দশকের দশকের অবিরত আপনাকে সংযোগটি স্বয়ংক্রিয়ভাবে বন্ধ হওয়ার আগে ডিরেক্টরিটি দেখার জন্য কিছু সময় দেয়।

অবিরাম অবিচ্ছিন্নভাবে আপনাকে একটি সংযোগ পুনরায় তৈরি করতে হবে এবং এটি আপনার ট্যাবটি কমিয়ে আস্তে আস্তে করবে।

উদাহরণ

~$ scp mymachine:~/pa TAB এর

path/ palace/ pandas/ porn/

~$ scp mymachine:~/path/to TAB এর

~$ scp mymachine:~/path/to/file TAB এর

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