সুবিধার জন্য, সর্বোত্তম পদ্ধতিটি জেএমডিটি এবং ফাহিমের উত্তরগুলির সংমিশ্রণ ।
ব্যবহার 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?