Ssh-add দ্বারা যুক্ত পরিচয় সংরক্ষণ করুন যাতে তারা অবিচল থাকে


19

আমি সম্প্রতি সেটআপ করেছি opensshযাতে আমি এটি ব্যবহার করতে পারি git

এটি স্থাপনের প্রক্রিয়াতে ( এই নিবন্ধ অনুসারে ) আমি আদেশগুলি চালিয়েছি:

$ eval "$(ssh-agent -s)"
$ ssh-add ~/.ssh/<name of key>

কিছুক্ষণ পরে, আমি লগ আউট এবং ফিরে আসার পরে আমি ব্যবহার করার চেষ্টা git pushকরেছি তবে আমি একটি ত্রুটি পেয়েছি। এই ত্রুটির সমাধান সেই একই কমান্ডগুলি আবার চালাচ্ছিল।

দয়া করে বলুন আমি কীভাবে পারি

  • ssh-agentদৌড়াতে থাকুন যাতে আমার কোনও নতুন শুরু করতে হবে না
  • আমি যে কীগুলি যুক্ত করেছি সেগুলি মনে রাখবেন যাতে আমাকে এগুলি সর্বদা যুক্ত করতে হবে না

কেবল পরিষ্কার করার জন্য, আমি zsh ব্যবহার করি যাতে নির্দিষ্ট বাশ বৈশিষ্ট্যগুলি আমার .zshrc এ কাজ করবে না।


ssh-agentআপনার বাঁকা ব্যবহারের ক্ষেত্রে এটি উপযুক্ত করার চেষ্টা করার আগে এটি কী এবং কীভাবে এটি কাজ করে তা বোঝার সাথে আপনার শুরু করা উচিত ।
জাকুজে

কী ত্রুটি পেয়েছেন?
জাকুজে

@ জাকুজে ত্রুটিটি একটি নিখোঁজ পাবকি সম্পর্কে ছিল এবং জিজ্ঞাসা করেছিল "আপনি কি এসএসএল-এজেন্ট শুরু করেছেন?"।
টিমোট্রি

উত্তর:


21

কীসের ssh-agentজন্য এবং কীভাবে এটি কাজ করে?

ssh-agentমেমরি এবং আপনার সেশনে নিরাপদে আপনার ডিক্রিপ্ট কী রাখে। রিবুটগুলি / পুনরায় লগইনের মধ্যে ডিক্রিপ্ট করা কীগুলি সংরক্ষণ করার কোনও যুক্তিসঙ্গত এবং নিরাপদ উপায় নেই।

ঠিক আছে, আমি কীভাবে এটি স্বয়ংক্রিয় করতে পারি?

স্বয়ংক্রিয় ssh-agentপ্রারম্ভ

যোগ

[ -z "$SSH_AUTH_SOCK" ] && eval "$(ssh-agent -s)"

আপনার ~/.bashrcবা অন্যান্য প্রারম্ভিক স্ক্রিপ্টে ( ~/.zshrc)।

কীগুলি যুক্ত করে স্বয়ংক্রিয় করুন

কীগুলি প্রথম যুক্ত হওয়ার পরে স্বয়ংক্রিয়ভাবে যুক্ত করা যেতে পারে, যখন আপনি যুক্ত করেন

AddKeysToAgent yes

আপনার ~/.ssh/config

আরও তথ্যের জন্য ~/.ssh/configদেখুন man ssh_config


সুতরাং আপনি বলছেন যে আমি যদি অ্যাডকিসটওএজেন্ট সক্ষম করি তবে আমি যখনই টাইপ eval "$(ssh-agent -s)"করব তখন এটি আমার কী যুক্ত করবে?
টিমোট্রি

যদি এজেন্ট চলমান থাকে এবং আপনার যদি sshএই বিকল্পটিকে সমর্থন করে তবে হ্যাঁ।
জাকুজে

আপনি কি দয়া করে পরিষ্কার করতে পারেন যে আমি কীভাবে ssh-agentতখন থেকে শুরু করে স্বয়ংক্রিয় করব ?
টিমোট্রি

মূলত, যেমন অন্য উত্তরে ব্যাখ্যা করা হয়েছে। [ -z "$SSH_AUTH_SOCK" ] && eval $(ssh-agent)
জাকুজে

যে zsh সঙ্গে কাজ করে?
টিমোট্রি

3

এটিতে যুক্ত করুন ~/.bashrc

এর অর্থ আপনি যখন নিজের টার্মিনালটি না রেখে অন্য সেশনটি খোলেন তখন ssh-এজেন্ট স্বয়ংক্রিয়ভাবে শুরু হবে

if [ -z "$SSH_AUTH_SOCK" ] ; then
 eval `ssh-agent -s`
fi

এজেন্টে যোগ করার জন্য যদি আপনার কোনও কী প্রয়োজন হয় তবে এটিও যুক্ত করুন

if [ -z "$SSH_AUTH_SOCK" ] ; then
 eval `ssh-agent -s`
 ssh-add ~/.ssh/<your private ssh key>
fi

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