আমি কীভাবে সমস্ত টার্মিনালগুলিতে কাজ করতে ssh-এজেন্ট পেতে পারি?


27

আমি ssh-copy-id ব্যবহার করে কিছু সার্ভারে স্বয়ংক্রিয় (পাসওয়ার্ড কম) ssh লগইন সেট আপ করেছি। ssh-agentযে টার্মিনালটি এটি চালিত হয়েছিল কেবল সেখানে থেকেই কাজ করে। আমি কীভাবে ssh-addআমার সমস্ত টার্মিনালগুলিতে কাজ করব?

স্বাভাবিকভাবেই, আমি পাসফ্রেজ ছাড়া এসএসএইচ কীটি পছন্দ করব না।

উত্তর:


26

আপনি যদি গ্রাফিক্যাল সেশনে লগইন ssh-agentকরেন তবে আপনার সেশন শুরুর সময় শুরু করার ব্যবস্থা করুন । কিছু বিতরণ ইতিমধ্যে এটি আপনার জন্য করে। যদি আপনার না ssh-agentহয় তবে আপনার সেশন স্টার্টআপ স্ক্রিপ্ট থেকে বা আপনার উইন্ডো ম্যানেজার থেকে চালানোর ব্যবস্থা করুন। কীভাবে এটি আপনার ডেস্কটপ পরিবেশ এবং আপনার উইন্ডো পরিচালকের উপর নির্ভর করে। উদাহরণস্বরূপ, যদি আপনি আপনার উইণ্ডো ম্যানেজার ম্যানুয়ালি শুরু, কেবল কলে প্রতিস্থাপন my_favorite_wmদ্বারা ssh-agent my_favorite_wm

ssh-agentথেকে শুরু করবেন না .bashrcবা .zshrcযেহেতু এই ফাইলগুলি প্রতিটি নতুন ইন্টারেক্টিভ শেল দ্বারা কার্যকর করা হয়। জায়গা থেকে শুরু ssh-agentযেমন একটি সেশন প্রারম্ভকালে ফাইল রয়েছে .profileবা .xsession

আপনি যেখান থেকে লগ ইন করেছেন তা বিবেচনা না করে যদি আপনি সমস্ত প্রক্রিয়াগুলিতে একই এসএসএইচ এজেন্ট ব্যবহার করতে চান তবে আপনি এলোমেলো-নামযুক্ত সকেট ব্যবহার না করে এটিকে সর্বদা একই সকেটের নামটি তৈরি করতে পারেন। উদাহরণস্বরূপ, আপনি এটি এতে রাখতে পারেন ~/.profile:

export SSH_AUTH_SOCK=~/.ssh/ssh-agent.$HOSTNAME.sock
ssh-add -l 2>/dev/null >/dev/null
if [ $? -ge 2 ]; then
  ssh-agent -a "$SSH_AUTH_SOCK" >/dev/null
fi

এফওয়াইআই, এটি যাচাই করার কারণটি $? -ge 2হ'ল কারণ প্রস্থান কোড 1 হ'ল যখন এসএস-এজেন্টের কোনও কী নেই, তবে ssh-এজেন্ট ইতিমধ্যে চলছে running
উইসবাকি

7

আপনি সম্ভবত কীচেইনের মতো একটি প্রোগ্রাম চান যা এই সঠিক উদ্দেশ্যে তৈরি করা হয়েছিল। ম্যান পৃষ্ঠা থেকে:

DESCRIPTION
   keychain is a manager for ssh-agent, typically run from ~/.bash_profile.
   It allows your shells and cron jobs to share a single ssh-agent process.

সত্যিই এই মত!
কলিন ডি

গ্রেট! ধন্যবাদ. পুরোপুরি কাজ করে।
কেউ

এটি দুর্দান্ত কাজ করে, গিথুব থেকে সংকুচিত ফাইলটি ডাউনলোড করার পরে, আপনি আপনার। / .bash_profile রফতানিতে PATH = AT पथ: লাইন
কেভিন ঝাও

4

আপনার ডেস্কটপ পরিবেশ বা উইন্ডো ম্যানেজারে এটি প্রয়োগ করুন। অতীতে আমি যখন প্রথমে এটি একটি কাস্টম দিয়ে ম্যানুয়ালি করেছি ~/.Xclients, আমি এটি কেবল শেষ লাইন হিসাবে ব্যবহার করেছি:

ssh-agent mywindowmanger

এর জন্য কিছু ডিই এর নিজস্ব সেটআপ অপশন থাকতে পারে, যদিও এটি আমার কাছে (উদাহরণস্বরূপ) কেডিএর কাছে নেই বলে মনে হয়। বর্তমানে, মনে হচ্ছে কোডটি কোড দ্বারা চালিত হয়েছিল /etc/X11/xinit/xinitrc-common(সম্ভবত ফেডোরার দ্বারা কিছু করা হয়েছিল), যেহেতু এটি ডিই / ডাব্লুএমএম নির্বিশেষে সমস্ত ব্যবহারকারীর জন্য সক্রিয় এবং মূল প্রক্রিয়া কমান্ডটি রয়েছে $HOME/.Xclients, তবে সেই ফাইলটি রেফারেন্স দেয় না ssh-agent(যেখানে /etc/X11/xinit/xinitrc-commonআছে)।

আপনার যদি এটি না থাকে ~/.Xclientsতবে আপনি কেবল সেই এক লাইনের সাহায্যে একটি তৈরি করতে পারেন, তবে আপনাকে আপনার ডিই / ডাব্লুএম শুরু করার আদেশটি জানতে হবে।

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