সুবিধার জন্য, সর্বোত্তম পদ্ধতিটি জেএমডিটি এবং ফাহিমের উত্তরগুলির সংমিশ্রণ ।
ব্যবহার ssh-agent
একা এর মানে হল যে নতুন ইনস্ট্যান্স ssh-agent
চাহিদা আপনি খুলতে প্রতিটি নতুন টার্মিনাল জন্য তৈরি করা হয়। keychain
যখন আরম্ভ করা হবে তখন ব্যক্তিগত কী (গুলি) এর জন্য পাসফ্রেজ জিজ্ঞাসা করবে এবং এটি সংরক্ষণ করবে। এইভাবে আপনার ব্যক্তিগত কীটি পাসওয়ার্ড সুরক্ষিত তবে আপনাকে বার বার আপনার পাসওয়ার্ড প্রবেশ করতে হবে না।
আর্চ উইকি থেকে Keychain আরম্ভের বিশেষ পরামর্শ দেওয়া হচ্ছে /etc/profile.d/
যেমন অথবা আপনার শেল প্রোফাইল, .bash_profile
বা .bashrc
। এটির কোনও অসুবিধা আছে যে আপনি কোনও টার্মিনাল খোলার সাথে সাথে এটি আপনার কীচেইনকে অন্তর্নিহিত করে।
আরও নমনীয় পন্থা keychain
একটি নির্দিষ্ট tmux
সেশনের সাথে একত্রিত করা হয় । সুতরাং, এতে .bash_profile
:
tsess=$(tmux ls 2>&1)
if [[ "${tsess%%:*}" = "secured" ]] &&
[[ -f $HOME/.keychain/$HOSTNAME-sh ]]; then
# start keychain
/usr/bin/keychain -Q -q --nogui ~/.ssh/id_rsa
. $HOME/.keychain/$HOSTNAME-sh
fi
... এবং তারপরে এটি tmux
প্রয়োজন হিসাবে সুরক্ষিত সেশনটি শুরু করার ক্ষেত্রে কেবল (কী-বাইন্ড থেকে চালু করা):
#!/bin/bash
PID=$(pgrep tmux)
new="tmux -f $HOME/.tmux/conf new -s secured"
old="tmux attach -t secured -d"
if [[ -z "$SSH_AUTH_SOCK" ]]; then
eval `ssh-agent`
trap "kill $SSH_AGENT_PID" 0
fi
if [[ -z "$PID" ]]; then
urxvtc -title "SSH" -e sh -c "${new}"
else
urxvtc -title "SSH" -e sh -c "${old}"
fi
ssh-add
এখন, আপনি যখন নির্দিষ্ট tmux
সেশনটি শুরু করেন তখন আপনার কীচেইনটি কেবল একবার শুরু করা হবে। যতক্ষণ এই অধিবেশনটি স্থায়ী থাকে, আপনি সেই ssh
কীগুলি অ্যাক্সেস করতে এবং আপনার দূরবর্তী সংগ্রহস্থলগুলিতে চাপ দিতে সক্ষম হবেন ।
eval
আপনি শুধু টাইপ করতে পারে এর বিন্দু কিssh-agent
?