এখানে আমি চেষ্টা করেছি এবং আমি একটি ত্রুটি পেয়েছি:
$ cat /home/tim/.ssh/id_rsa.pub | ssh tim@just.some.other.server 'cat >> .ssh/authorized_keys'
Password:
cat: >>: No such file or directory
cat: .ssh/authorized_keys: No such file or directory
এখানে আমি চেষ্টা করেছি এবং আমি একটি ত্রুটি পেয়েছি:
$ cat /home/tim/.ssh/id_rsa.pub | ssh tim@just.some.other.server 'cat >> .ssh/authorized_keys'
Password:
cat: >>: No such file or directory
cat: .ssh/authorized_keys: No such file or directory
উত্তর:
ওপেনএসএইচ এটি করার জন্য একটি কমান্ড নিয়ে আসে ssh-copy-id
,। আপনি কেবল এটি দূরবর্তী ঠিকানা দিন এবং এটি authorized_keys
দূরবর্তী মেশিনে থাকা ফাইলটিতে আপনার সর্বজনীন কী যুক্ত করে :
$ ssh-copy-id tim@just.some.other.server
-i
আপনার স্থানীয় মেশিনে আপনার সর্বজনীন কী সনাক্ত করতে আপনাকে পতাকা ব্যবহার করতে হবে :
$ ssh-copy-id -i ~/.ssh/id_rsa.pub tim@just.some.other.server
>>
আপনার শেল দ্বারা পরিচালিত হয়, এবং আপনি শেলটি না দিয়ে এসএসএইচ দিয়ে কমান্ডটি চালাচ্ছেন।
ssh-copy-id
কাজ করবে না, তাই না?
আপনি সর্বদা এরকম কিছু করতে পারেন:
scp ~/.ssh/id_rsa.pub user@remote.example.com:/tmp/id_rsa.pub
ssh user@remote.example.com
cat /tmp/id_rsa.pub >> ~/.ssh/authorized_keys
আপনি cat
কোনও স্থানীয় মেশিন থেকে কোনও এসএস সেশনে যেতে পারবেন কিনা তা সম্পর্কে আমি নিশ্চিত নই । প্রস্তাবিত হিসাবে কেবল এটি / টেম্পে সরান।
সম্পাদনা: এটি ঠিক তাই ssh-copy-id
করে। যেমনটি মাইকেল ড।
cat
বা অন্যথায়)। আপনি যা বর্ণনা করছেন তা হ'ল পুরানো কালের উপায়; ssh-copy-id
সুপারিশ করা হয় কারণ টাইপগুলি বা ফাইলগুলিকে ভুল অনুমতি দেওয়ার ঝুঁকি কম থাকে।
cat ~/.ssh/id_rsa.pub | ssh <user>@<hostname> 'cat >> ~/.ssh/authorized_keys'
।
এই উত্তরটিতে বর্ণিত পদ্ধতিতে কীভাবে প্রশ্নে কাজ করা যায় তা বর্ণনা করা হয়।
>>
পুনঃনির্দেশ অপারেটরের বিশেষ অর্থটি ব্যাখ্যা করতে আপনি দূরবর্তী কম্পিউটারে একটি শেল চালিত করতে পারেন :
ssh tim@just.some.other.server sh -c "'cat >> .ssh/authorized_keys'" < /home/tim/.ssh/id_rsa.pub
পুনঃনির্দেশ অপারেটরটি >>
সাধারণত শেল দ্বারা ব্যাখ্যা করা হয়।
আপনি যখন মৃত্যুদন্ড কার্যকর করেন ssh host 'command >> file'
তখন এটির নিশ্চয়তা নেই যা command >> file
শেল দ্বারা ব্যাখ্যা করা হবে। আপনার ক্ষেত্রে বিশেষ ব্যাখ্যা ছাড়াই শেলের পরিবর্তেcommand >> file
মৃত্যুদন্ড কার্যকর করা হয় এবং >>
একটি আর্গুমেন্ট হিসাবে কমান্ডকে দেওয়া হয়েছিল - command '>>' file
শেলের মধ্যে চলার মতোই ।
এসএসএইচ (ওপেনএসএসএইচ_৯.৯) এর কয়েকটি সংস্করণ স্বয়ংক্রিয়ভাবে রিমোট সার্ভারে শেলটি আহ্বান করবে এবং কমান্ড (গুলি) এ প্রেরণ করবে যখন তারা টোকেনগুলি শেলের মতো ব্যাখ্যা করার জন্য সনাক্ত করবে ;
>
>>
ইত্যাদি ইত্যাদি
openssh
জোগান ssh-copy-id
। ক্রমটি হ'ল:
একটি শালীন 4 কে কী তৈরি করুন
ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa4k
আপনার এসএসএল-এজেন্টটি শুরু করুন এবং SSH_AGENT_PID
ইত্যাদির মতো তথ্য চুষান
ssh-agent -s > ~/mysshagent
source ~/mysshagent
rm ~/mysshagent
এখন আপনার এসএসএইচ এজেন্টে কীগুলি লোড করা শুরু করুন
ssh-add ~/.ssh/id_rsa4k
এটি লোড হয়েছে কিনা তা পরীক্ষা করুন
ssh-add -l
ssh-add -L
এটি আপনাকে ssh- এজেন্টে কী তা দেখায়
এখন আসলে রিমোট সিস্টেমে এসএসএইচ
ssh username@remotehost.network
এখন আপনি কোনও যুক্তি ছাড়াই ssh-copy-id চালাতে পারবেন:
ssh-copy-id
এটি ~/.ssh/authorized_keys
ssh-এজেন্ট থেকে প্রয়োজনীয় বুনিয়াদি তথ্য তৈরি করে এবং পূরণ করে ।
২২ টির তুলনায় অন্য কোনও বন্দরটি বেছে নেওয়ার সময় আমার ssh-copy-id নিয়ে সমস্যা হয়েছিল ... সুতরাং এখানে অন্য এসএস-পোর্ট (যেমন el 7572) সহ আমার অনন্যার রয়েছে:
ssh yourServer.dom -p7572 "mkdir .ssh; chmod 700 .ssh; umask 177; sh -c 'cat >> .ssh/authorized_keys'" < .ssh/id_rsa.pub
প্রকৃতপক্ষেthe ssh-copy-id
কমান্ড ঠিক এই আছে (থেকে openssh-client
প্যাকেজ):
ssh-copy-id user@host
দ্রষ্টব্য: এর host
অর্থ আইপি ঠিকানা বা ডোমেন ।
আমিও কিছু যোগ করতে চাই অতিরিক্ত তথ্য এই
1) আমরা গন্তব্য সার্ভারে এসএসএইচের জন্য একটি আলাদা পোর্ট নির্দিষ্ট করতে পারি :
ssh-copy-id "-p 8127 user@host"
নোট: বন্দর সামনে থাকতে হবে অথবা এটি সমাধান করবে না।user@host
2) আমরা সর্বজনীন কী সহ একটি ফাইল নির্দিষ্ট করতে পারি :
ssh-copy-id -i ~/.ssh/id_rsa.pub user@host
নোট: বিকল্প আমাদের যে ফাইলটি সর্বজনীন কী থাকা নামের উপযুক্ত অবস্থান নির্দেশ করতে পারবেন।-i
কখনও কখনও এটি কার্যকর হতে পারে, বিশেষত যদি আমরা এটিকে একটি মানহীন স্থানে সঞ্চয় করি বা আমাদের কম্পিউটারে একাধিক পাবলিক কী রয়েছে এবং আমরা একটি নির্দিষ্টটির দিকে নির্দেশ করতে চাই।