bash: /home/user/.ssh/authorised_keys: এ জাতীয় কোনও ফাইল বা ডিরেক্টরি নেই


11

একটি ssh কী তৈরি করুন:

$ ssh-keygen -t rsa P ""

অনুমোদিত কীতে চাবিটি সরানো:

$ cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys

bash: /home/user/.ssh/authorized_keys: No such file or directory

একই প্রশ্ন, আপনার নিজের হোস্টে কীটি যুক্ত করতে হবে?
ব্রিয়াম

@ ব্রায়াম যখন আমার হোম ডিরেক্টরিটি নেটওয়ার্ক ড্রাইভে ছিল তখন আমি এটি করেছি। এটি আমাকে এই ড্রাইভটি মাউন্ট করা যে কোনও মেশিনে ছড়িয়ে দেওয়ার অনুমতি দেয়। তাই আমি আমার নিজস্ব হোস্টের দিকে ঝাঁকুনি দিচ্ছিলাম না।
এফডিনফ 16'14

উত্তর:


13
bash: /home/user/.ssh/authorized_keys: No such file or directory

পথের একটি উপাদান /home/user/.ssh/বিদ্যমান নেই; শেল ( bash) >>কমান্ডটি কার্যকর করার আগে ( ) পুনঃনির্দেশটি পরীক্ষা করে ( cat)। যদি /home/userউপস্থিত থাকে এবং আপনি এটি ব্যবহার করে দেখুন:

cat $HOME/.ssh/id_rsa.pub >> $HOME/test_this

আপনি এখন পাবেন:

cat: /home/user/.ssh/id_rsa.pub: No such file or directory

যেহেতু ফাইলটি সেই জায়গায় /home/user/.ssh/থাকতে পারে না , যদি এটি শুরু করার অস্তিত্ব না থাকে।

আপনি সম্ভবত কিছু বিট এড়িয়ে কিছু নির্দেশাবলীর অনুসরণ করছেন। ডিরেক্টরি তৈরি করতে:

mkdir $HOME/.ssh
chmod 700 $HOME/.ssh

তবে, id_rsa.pubসেখানে হবে না। আপনি যেখানে ssh-keygenকমান্ডটি প্রথম স্থানে চালিয়ে গিয়েছিলেন সেখানেই এটি হবে ।


6

আপনি প্রথমে ssh কী তৈরি করতে চান এমন ব্যবহারকারী হিসাবে আপনি লগ ইন করেছেন তা নিশ্চিত করুন (অথবা সঠিক হোম ডিরেক্টরিতে কমান্ডের পাথগুলি পরিবর্তন করতে প্রস্তুত)।

তারপরে কেবল ডিরেক্টরিটি তৈরি করুন:

mkdir ~/.ssh

catউপরে তালিকাভুক্ত কমান্ডটি ব্যবহার করে ফাইলটি তৈরি করুন । তারপরে অনুমতিগুলি সঠিকভাবে সেট করতে ভুলবেন না:

chmod 400 ~/.ssh/authorized_keys

আপনি এটি নিশ্চিত করতে চাইতে পারেন যে .ssh ডিরেক্টরিতেও যথাযথ অনুমতি রয়েছে।


1
আপনার শেষ মন্তব্যটি ইঙ্গিত হিসাবে, হ্যাঁ আমি আপনার প্রয়োজন তা খুঁজে chmod 700 ~/.ssh
পেয়েছি

6

সম্ভব হলে আমি সবসময় লোকদের কমান্ডলাইন সরঞ্জামটি ব্যবহার করতে উত্সাহিত করি ssh-copy-id

$ ssh-copy-id -h
Usage: /usr/bin/ssh-copy-id [-i [identity_file]] [user@]machine

আপনি যদি কেবলমাত্র আপনার ডিফল্ট এসএসএইচ পাবলিক কীটি একটি রিমোট সেভারে অনুলিপি করতে চান তবে আপনি কেবল নীচের কমান্ডটি চালান:

$ ssh-copy-id user@remoteserver

আমি এই প্রশ্নোত্তর শিরোনামে কীভাবে এই সরঞ্জামটি ব্যবহার করতে পারি তার একটি প্রকৃত পূর্ণ উদাহরণ দেখাই: আরএসসিএনসি এর সাথে কোনও এসএসএস সংযোগ ভাগ করতে পারি না


0

কীটি তৈরি করার সাথে ssh-keygenআপনি কোনও ফাইলের নাম দিলে এটিও ব্যর্থ হতে পারে । আমি কিছু নাম প্রবেশ করিয়েছি my-ssh-file-nameএবং এটি ফোল্ডারের /Users/MyUserNameপরিবর্তে কীটি লিখেছিল .ssh। আপনি যদি ফাইলের নামটি ফাঁকা রেখে দেন তবে এটি .sshপ্রত্যাশার মতো লিখবে ।


বা অবশ্যই আপনি .ssh ফোল্ডারে সরাসরি কাস্টম কীটি লিখতে নির্দিষ্ট করতে পারেন:-f ~/.ssh/custom-key-name
সংসদ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.