Rsync সহ পরিচয় ফাইল (id_rsa) নির্দিষ্ট করুন


196

আমাকে একটি রিমোট সার্ভারে একটি ডিরেক্টরিের পর্যায়ক্রমিক ব্যাকআপ তৈরি করতে হবে যা একটি গবেষণা সংস্থা হোস্ট করা ভার্চুয়াল মেশিন। তারা আদেশ দেয় যে ভিএমগুলিতে অ্যাক্সেস ssh কীগুলির মাধ্যমে হয়, যা সমস্ত ভাল, আমি এই সার্ভারের জন্য কীভাবে এসএসএইচ কীতে আরএসএনসি চিহ্নিত করতে পারি তা বুঝতে পারি না।

মূল ফাইলটি হলে রাইঙ্কের কোনও সমস্যা নেই ~/.ssh/id_rsa, তবে এটি যখন অন্য কিছু হয় তখন Permission denied (publickey)

Ssh এর সাহায্যে আমি পরিচয় ফাইলটি এর সাথে নির্দিষ্ট করতে পারি -iতবে আরএসসিএনসি-তে কোনও বিকল্প নেই বলে মনে হয়।

আমি স্থানীয় মেশিনে কীটি সাময়িকভাবে স্থানান্তরিত করার চেষ্টা করেছি ~/.ssh/id_rsa, তবে এটি একইভাবে কাজ করে না।

TL; ড

আপনি কি আরএসসিএন দিয়ে একটি পরিচয় ফাইল নির্দিষ্ট করতে পারেন?


1
দরকারী এছাড়াও অর্ডার কাজ করার জন্য sudo rsyncযা এক নিজস্ব SSH কী ব্যবহার করে না, কিছু কারণে।
আইজোসেফ

1
@ আইজিসেফ ঠিক, আমি rsync -aAP "sudo -u user ssh" user@server:dir local_dirক্রোন স্ক্রিপ্টগুলি সিট করার সময় ব্যবহার করি যা মূল হিসাবে চালিত হয়
মার্টিন পেকা

উত্তর:


341

আপনি '-e' বিকল্পের মাধ্যমে সঠিক ssh কমান্ডটি নির্দিষ্ট করতে পারেন:

rsync -Pav -e "ssh -i $HOME/.ssh/somekey" username@hostname:/from/dir/ /to/dir/

অনেক ssh ব্যবহারকারী তাদের ~ / .ssh / config ফাইলের সাথে অপরিচিত। আপনি কনফিগার ফাইলের মাধ্যমে হোস্ট প্রতি ডিফল্ট সেটিংস নির্দিষ্ট করতে পারেন।

Host hostname
    User username
    IdentityFile ~/.ssh/somekey

দীর্ঘমেয়াদে ~ / .ssh / config ফাইলটি শেখা ভাল learn


Ssh_config এ আইডেন্টিটি ফাইল রাখতে আমার সহায়তা করে না। আমি সমস্যা ছাড়াই "ssh ওয়েব 1" করতে পারি, তবে ওয়েবসি 1 তে আরএসসিএন ব্যবহার করার সময়: ... এটি "অনুমতি অস্বীকার (পাবলিককি)" এর সাথে ব্যর্থ হয়।
জিতরেক্স

1
Ssh পরিবহনের ভারবোসনেসটি চালু করার চেষ্টা করুন: rsync -e 'ssh -vv' ওয়েব 1: / ইত্যাদি / ইস্যু / টিএমপি / ইস্যু
ড্যান গার্থওয়েট

1
আহ। আপনি যদি এটি স্বয়ংক্রিয়ভাবে চালিত হন এবং কোনও পাসওয়ার্ড সরবরাহ করতে সক্ষম না হন তবে আপনার উভয় প্রান্তে একটি অতিরিক্ত পাসওয়ার্ডহীন এসএস কী প্রয়োজন হবে config যদি আপনি ইন্টারেক্টিভ সেশনে পাসওয়ার্ড ছাড়াই rsync কাজ করতে চান তবে আপনাকে ssh-এজেন্ট ব্যবহার করতে হবে।
ড্যান গারথওয়েট

16
Duuuuuuude! ~/.ssh/configফাইল - আপনি আমার জন্য একটি নতুন মহাবিশ্ব খুলেছেন!
দেমানিয়াক

2
day / .ssh / config আমাকে দিনটি বাঁচিয়েছে, অনেক ধন্যবাদ।
স্মিশরা

17

এটি এসএসএইচ ব্যবহারকারী কনফিগারেশনের মাধ্যমে করা যেতে পারে দেখুন: http://www.cyberciti.biz/faq/create-ssh-config-file-on-linux-unix/ মূলত সম্পাদনা করুন ~ / .ssh / config:

$ nano ~/.ssh/config
#Add Hosts below 
Host server1
HostName examplehost.com
User username
Port 22
IdentityFile /path/to/key

$ rsync -e ssh /home/user/directory user@remote.host.net:home/user/directory/

এটি কোনও প্রোগ্রামের জন্য এসএসএইচ, আরএসইএনসি,



4

অবগতির জন্য:

1) সর্বজনীন কী সর্বদা হোম সার্ভারে ব্যবহারকারীদের দূরবর্তী সার্ভারে লগ ইন করে অর্থাৎ আপনি যদি "ব্যাকআপ" হিসাবে লগইন করেন তবে এটি /home/backup/.ssh/authorised_keys এ অবস্থিত। আপনি যখন লগইন করবেন তখন ব্যবহারকারী আইডি গন্তব্যস্থলে ব্যবহৃত পাবলিক কীটি সংজ্ঞায়িত করে।

দুটি ভিন্ন উপায়ে সংযোগ তৈরি করার সময় আপনি ব্যবহারকারীর আইডি চয়ন করতে পারেন:

ssh user_id@destination.server
or
ssh -l user_id  destination_server     (<-- that is lower case "L")

অন্যদিকে আপনার প্রান্তে প্রাইভেট কীটি ব্যবহারকারীর হোমডিরে একইভাবে রয়েছে যদি না আপনি ড্যানের উত্তরে বর্ণিত মতটিকে ওভাররাইড না করে।

2) ব্যাকআপ উদ্দেশ্যে, "আরএসসিএনসি" এর মতো কেবল একটি কমান্ড চালানো সীমাবদ্ধ এমন একটি সীমাবদ্ধ কী তৈরি করা বাঞ্ছনীয় হতে পারে। "আরএসএনএপশট" ব্যাকআপ সম্পর্কিত সম্পর্কিত একটি ভাল বিবরণ রয়েছে যা আপনাকে অননুমোদিত ব্যবহারকারী অ্যাকাউন্ট এবং "সুডো" ব্যবহার করে পুরো সার্ভারকে রিমোট ব্যাকআপ করতে দেয়:

"আরএসএন্যাপশট" কীভাবে

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

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