আমি আবার এটি একবার দেখার সিদ্ধান্ত নিয়েছি এবং এটি কীভাবে কাজ করে তা জানতে পেরেছি। জিপিজি পাসওয়ার্ড সংরক্ষণের জন্য "ক্যাশে" শব্দটি ব্যবহার করে। সর্বাধিক সঞ্চয়ের সময় দুটি সীমাবদ্ধতা আরোপ করা যেতে পারে:
- কীটি প্রাথমিকভাবে যুক্ত হওয়ার পরে একটি পাসফ্রেজ রাখার সময়।
- পাসফ্রেজ রাখার সময় এটি সর্বশেষে অ্যাক্সেস করা হয়েছিল।
তদ্ব্যতীত, উভয় সীমাবদ্ধতার জন্য দুটি প্রকারের উপস্থিতি রয়েছে, একটি জিপিজি কীগুলির জন্য এবং একটি এসএসএইচ কীগুলির জন্য (যদি সমর্থন সক্ষম করা থাকে)।
সম্পর্কিত ম্যানুয়াল পৃষ্ঠা থেকে প্রবেশ gpg-agent(1)
:
--default-cache-ttl n
Set the time a cache entry is valid to n seconds. The default
is 600 seconds.
--default-cache-ttl-ssh n
Set the time a cache entry used for SSH keys is valid to n sec‐
onds. The default is 1800 seconds.
--max-cache-ttl n
Set the maximum time a cache entry is valid to n seconds. After
this time a cache entry will be expired even if it has been
accessed recently. The default is 2 hours (7200 seconds).
--max-cache-ttl-ssh n
Set the maximum time a cache entry used for SSH keys is valid to
n seconds. After this time a cache entry will be expired even
if it has been accessed recently. The default is 2 hours (7200
seconds).
পাসফ্রেসগুলি সর্বদা ক্যাশে থাকে (স্মৃতিতে, ডিস্কে নয়! এর গিট রেপো দ্বারা যাচাই করা হয় $HOME
), সুতরাং এর কোনও স্পষ্ট প্রয়োজন নেই ssh-add
। উদাহরণস্বরূপ, ডামি ডেটা সাইন করা ইতিমধ্যে ক্যাশেটিকে ট্রিগার করে:
$ echo | gpg -s >/dev/null
(passphrase requested
$ echo | gpg -s >/dev/null
(signing proceeds without asking for passphrase)
জিপিজি-এজেন্টের ক্যাশে সেটিংসে স্থায়ী পরিবর্তন করতে, ~ / .gnupg / gpg-এজেন্ট.conf` সম্পাদনা করুন এবং এর মতো কিছু যুক্ত করুন:
default-cache-ttl 60 # Expire GPG keys when unused for 1 minute
max-cache-ttl 600 # Expire GPG keys after 10 minutes since addition
আমি উল্লেখ করে এসএসএইচ এজেন্ট সমর্থন সক্ষম করার চেষ্টা করেছি enable-ssh-support
, তবে এটি জিপিজি-এজেন্ট আপনাকে কীটি এনক্রিপ্ট করার জন্য আরও একটি কী জিজ্ঞাসা করে এবং তারপরে আপনার ব্যক্তিগত কীটি সঞ্চয় করে ~/.gnupg/private-keys.d/
। আমার জন্য যান না, আমি তখন একটি দ্বৈত এসএসএল-এজেন্ট / জিপিজি-এজেন্ট পদ্ধতির সাথে লেগে থাকব।
কিছু বোনাস টিপস:
max-cache-ttl-ssh
কী যোগ করার সময় এসএসএইচ এজেন্টের সমতুল্য নির্দিষ্ট করা যেতে পারে, উদাহরণস্বরূপ:ssh-add -t 600 ~/.ssh/id_rsa
এজেন্টে জিপিজি পাসফ্রেজ সংরক্ষণ করা রোধ করতে এজেন্টকে অক্ষম করুন। নতুন জিপিজি সংস্করণে বিকল্পটি --no-use-agent
উপেক্ষা করা হয়েছে, তবে আপনি সংশ্লিষ্ট পরিবেশ-পরিবর্তনশীল সাফ করে এজেন্টটিকে ব্যবহার করা থেকে বিরত রাখতে পারেন। এটি করার কিছু উপায়:
echo | GPG_AGENT_INFO= gpg -s # temporary
export GPG_AGENT_INFO=; echo | gpg -s # until the current shell is closed
gpg-connect-agent
?