পুরো ব্যবহারকারী সেশনের জন্য GnuPG শংসাপত্রগুলি ক্যাশেড রাখুন


53

GnuPG, gpg-agentএকটি ব্যক্তিগত কীতে অ্যাক্সেস ক্যাশে করতে পারে। আমি কীভাবে পুরো ব্যবহারকারীর অধিবেশনকে সক্রিয় রাখতে পারি ?

আমি যখন কীটি আনলক করি তখন gpg-agentএটি কেবল সীমিত সময়ের জন্য ক্যাশে থাকে। এসএসএইচ এর এজেন্টের সাথে আমি পাসফ্রেজটি একবারে প্রবেশ করি এবং এটি পুরো সেশনের জন্য ক্যাশে থাকে। আমি একই আচরণ থেকে চাই gpg-agent

সুতরাং, ssh-agentএকটি সীমিত ক্যাশে আজীবন ভোগেন না। তবে gpg-agentক্যাশে আজীবন সীমাবদ্ধ করে, কমপক্ষে ডিফল্ট হিসাবে। আমি কীভাবে ক্যাশের সময়সীমা সরিয়ে ফেলতে gpg-agentপারি?

উত্তর:


69

GnuPG 2 অবধি

ব্যবহারকারীর কনফিগারেশন (ইন ~/.gnupg/gpg-agent.conf) কেবলমাত্র ডিফল্ট এবং সর্বাধিক ক্যাচিং সময়কাল নির্ধারণ করতে পারে; এটি অক্ষম করা যায় না।

default-cache-ttlবিকল্প, (তাই যদি আপনি এটি ব্যবহার রিসেট) সময়সীমার (সেকেন্ডে) গত টি GnuPG কার্যকলাপ পর সেট করে maximum-cache-ttlবিকল্প timespan সেট (সেকেন্ডে) এটি আপনার পাসওয়ার্ডের প্রবেশের পর ক্যাশে করে। ডিফল্ট মান 600 সেকেন্ড (10 মিনিট) default-cache-ttlএবং 7200 সেকেন্ড (2 ঘন্টা) এর জন্য maximum-cache-ttl

এটিকে এক বছর বা তাই নির্ধারণ করুন - বলুন, 34560000 সেকেন্ড (400 দিন) - এবং আপনার ভাল হওয়া উচিত:

default-cache-ttl 34560000
maximum-cache-ttl 34560000

তবে এই পরিবর্তনটি কার্যকর হওয়ার জন্য, আপনাকে জিপিজি-এজেন্ট পুনরায় চালু করে সেশনটি শেষ করতে হবে।

আপনি যদি আপনার সেশনের দৈর্ঘ্যের সীমাবদ্ধ করতে চান তবে আপনাকে লগআউট করার সময় ডেমোনটি মারতে হবে। এটি অপারেটিং সিস্টেমের মধ্যে খুব আলাদা, তাই আমি অন্য সিস্টেমের জন্য ইঙ্গিতযুক্ত অন্য প্রশ্ন / উত্তর উল্লেখ করছি ।

আপনি gpg-agentলগইন চলাকালীন পুনরায় চালু করতে পারেন , তবে এটি সেশনের দৈর্ঘ্যের মধ্যে ক্যাচিংয়ের সময় সীমাবদ্ধ করে না তবে ব্যবহারকারীর লগইন করে। আপনার ক্ষেত্রে যদি এটি সমস্যা হয় তবে নিজেকে সিদ্ধান্ত নিন।

GnuPG 2.1 এবং উপরের

GnuPG 2.1 এবং তারপরে, আরও পরিবর্তন ছাড়াই maximum-cache-ttlবিকল্পটির নামকরণ করা হয়েছিল max-cache-ttl


এটি কি একটি "আপনি যা জিজ্ঞাসা করছেন তা করতে পারবেন না" প্রতিক্রিয়া? এটি পরিষ্কার নয়, যেহেতু আপনি অধিবেশন দৈর্ঘ্য বা ক্যাশিংয়ের সময় সীমাবদ্ধ করার বিষয়ে কথা বলছেন। আমি তার ঠিক বিপরীত চাই: ক্যাশে সময় বা সেশনের দৈর্ঘ্যের উপর কোনও স্বেচ্ছাসেবক সীমা নেই।
5

এটির মতো, আপনি কেবল একটি বিশাল টিটিএল সেট করেই কাজ করতে পারবেন। এটি এক বছর বা তার জন্য সেট করুন এবং আপনার ভাল হওয়া উচিত - তবে পুনরায় চালু করে সেশনটি শেষ করা দরকার gpg-agent
জেনস ইরাত

দয়া করে নোট করুন যে ল্যাটস সংস্করণগুলিতে (কমপক্ষে gnupg 2.1) maximum-cache-ttlবিকল্পটি বিদ্যমান নেই। সঠিক বিকল্পগুলি দেখতে, অফিসিয়াল ডকুমেন্টেশন দেখুন: gnupg.org/docamentation/manouts/gnupg/…
পাবলো ওলমস ডি

3
কমপক্ষে GnuPG 2.1 এ ডিফল্টটি default-cache-ttl600 সেকেন্ড (10 মিনিট), দুই ঘন্টা নয়।
jlh

@ জেএলএইচ এর বিভিন্ন সংস্করণের ম্যান পৃষ্ঠাগুলি দেখে gpg-agentসঠিক মানটি সমস্ত রিলিজের জন্য 10 মিনিট বলে মনে হচ্ছে। আমি উত্তরটি সম্পাদনা করেছি, এটি নির্দেশ করার জন্য আপনাকে ধন্যবাদ।
জেনস এরট

7

উইন্ডোজ জন্য

আপনার সম্পাদনা করতে হবে ফাইলটি এখানে রাখা উচিত: $env:AppData\gnupg

আপনি যদি পাওয়ারশেল উইন্ডোটিতে এটি চালনা করেন তবে এটি খুলবে: C:\Users\<UserName>\AppData\Roaming\gnupg

শুধু করা gpg-agent.confযাই হোক না কেন আপনার মত মান সেখানে ফাইল।

আপনি এটি চালিয়ে যাচাই করতে পারেন:

  1. gpgconf.exe --reload gpg-agent
  2. gpgconf.exe --list-options gpg-agent

আপনি এই ওয়ান লাইনারটিও ব্যবহার করতে পারেন: Set-Content -Path $env:AppData\gnupg\gpg-agent.conf -Value "default-cache-ttl 86400$([System.Environment]::NewLine)max-cache-ttl 86400"


যদি এখানে দ্বিতীয় উত্তরটি উপযুক্ত না হয় তবে আমরা এটিকে উইন্ডোজের সাথে ট্যাগ করে নিজের প্রশ্নে স্থানান্তর করতে পারি। ঠিক কি না তা নিশ্চিত নয় :)
কিউবানএক্স

ধন্যবাদ এবং এটি এখানে রাখুন - এক জায়গায় সমস্ত তথ্য রাখাই ভাল। 👍
বারফুইন

5

gpg-connect-agent reloadagent /byeকনফিগার পরিবর্তন করার পরে আপনার জিপিজি এজেন্টটি পুনরায় লোড করার বিষয়টি নিশ্চিত করুন ।

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