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


30

একটি 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

1
~/.ssh/authorized_keysঅন্যান্য কম্পিউটারগুলির কীগুলি যা আপনি নিজের চাবি নয়, আপনার সাথে / বিশ্বাসের সাথে সংযুক্ত হয়েছেন ।
saiarcot895

কিছু অ্যাপ্লিকেশনগুলির নিজের মেশিনে পাসওয়ার্ডহীন এসএসএস প্রয়োজন।
নেহাল জে ওয়াণী

স্ট্যাক এক্সচেঞ্জ নেটওয়ার্কের একাধিক সাইটে একই প্রশ্ন পোস্ট করবেন না ।
টেরডন

আপনার নিজের চাবিটি কেন বিশ্বাস করতে হবে? ঠিক আপনি কি করতে চেষ্টা করছেন?
ব্রিয়াম

উত্তর:


74

আপনাকে .sshডিরেক্টরি এবং authorized_keysফাইলটি প্রথমবার তৈরি করতে হবে ।

  1. .sshডিরেক্টরি তৈরি করুন :

    mkdir ~/.ssh
    
  2. সঠিক অনুমতি সেট করুন:

    chmod 700 ~/.ssh
    
  3. authorized_keysফাইলটি তৈরি করুন:

    touch ~/.ssh/authorized_keys
    
  4. সঠিক অনুমতি সেট করুন:

    chmod 600 ~/.ssh/authorized_keys
    

অনুমতিগুলি গুরুত্বপূর্ণ! এটি সঠিক অনুমতি ছাড়া কাজ করবে না!

এখন আপনি যোগ করতে পারেন সর্বজনীন কী করতে authorized_keysফাইল:

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

আপনি যে কম্পিউটারটি এসএসএইচ কী ব্যবহার করে অ্যাক্সেস করতে চান তার ফাইলে আপনাকে আপনার কম্পিউটারের সর্বজনীন কী যুক্ত করতে হবে !authorized_keys


টেরডন যেমন উল্লেখ করেছেন আপনি কেবল এই আদেশটি ব্যবহার করতে পারেন:

ssh-copy-id user@host

এটি আপনার id_rsa.pub(আপনার ~/.sshডিরেক্টরিতে) রিমোট কম্পিউটারের authorized_keysফাইলে রাখবে, .sshডিরেক্টরি এবং authorized_keysপ্রয়োজনে সঠিক অনুমতি নিয়ে ফাইল তৈরি করবে ।


5
যাই হোক না catকেন, আপনি কেবল এটি করতে চান না , এটাই তার ssh-copy-idজন্য।
টারডনে

1
বাহ, দুর্দান্ত, আমি এটি যুক্ত করেছি।
লুই ম্যাথিজসেন

@ লুইস ম্যাথিজজেসন আমি আমার দূরবর্তী সার্ভারে কীগুলি অনুলিপি করেছি। আমি কীভাবে নিশ্চিত করতে পারি যে অনুমোদিত_কিজে সর্বজনীন কী যুক্ত করা হয়েছে।
আমান

2

কোনও দূরবর্তী সার্ভারে ইনস্টল করার জন্য আপনাকে কোনও ইমেলটিতে সর্বজনীন কী প্রেরণ করা হয়েছে:

1) সার্ভারে এসএসএইচ। আমি উইন্ডোজে পিটিটিওয়াই ব্যবহার করেছি।

2) কী সেটআপ করুন:

mkdir ~/.ssh
chmod 700 ~/.ssh
vi ~/.ssh/authorized_keys

কীটি হুবহু কপি করার জন্য যত্ন নিন এবং এডিটর উইন্ডোতে এটি একটি নতুন লাইনে আটকে দিন। এটি একটি একক লাইন দখল করে তা সংরক্ষণ করুন।

chmod 600 ~/.ssh/authorized_keys

2

যেহেতু আমার যথেষ্ট খ্যাতি নেই, আমি এটি এখানে যুক্ত করছি। লুই ম্যাথিজসেনের উত্তর ছাড়াও যদি আপনি এখনও তৈরি করেছেন এমন কোনও ব্যবহারকারী হিসাবে এসএসএসের মাধ্যমে লগইন করতে সক্ষম না হন তবে

ssh username@host

তারপরে এটি মালিকের অনুমতি অনুপস্থিতির কারণে হতে পারে যা আপনাকে অবশ্যই আপনার / home/username/.ssh ফোল্ডারে যুক্ত করতে হবে। আমারও একই সমস্যা ছিল এবং আপনি এই অনুমতিটি যেমন দিতে পারেন:

chown -R username:username /home/username/.ssh

এটি সম্ভবত ঘটতে পারে কারণ আপনি ডিরেক্টরি তৈরি করেছিলেন এবং অনুমতিগুলি রুট হিসাবে সেট করেছিলেন , তবে আপনি যে ব্যবহারকারীর নামটি সার্ভারটিতে অ্যাক্সেস করতে চান তা হিসাবে নয় ।

আশা করি এটি কাউকে সাহায্য করবে।


0

চেষ্টা

 touch $HOME/.ssh/authorized_keys

ব্যবহারকারীর অধিকার সহ খালি ফাইল তৈরি করতে।

আপনি যখন সেই ব্যবহারকারীটির সাথে প্রথম কোনও রিমোট হোস্টের জন্য অ্যাক্সেস করেন তখন এই ফাইলটি তৈরি করা হয়।


0

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

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