আমি কীভাবে এসপি-এজেন্ট + এসএসএড-অ্যাডের সাথে জিপিজি-এজেন্ট ব্যবহার করব?


15

ssh-agentব্যবহার করা খুব সহজ, আমি এটি শুরু করি এবং কীগুলি ব্যবহার করে যুক্ত করি ssh-add keyfile। প্রক্রিয়াটি হত্যার পরে ssh-agent, সমস্ত ফাইল চলে গেছে।

আমি কীভাবে একই আচরণ পেতে পারি gpg-agent? আমি সবচেয়ে কাছের প্রোগ্রামটি পেয়েছিলাম gpg-preset-passphrase। তবে এর ম্যানুয়াল পৃষ্ঠাটি দেখেgpg-agent মনে হচ্ছে ব্যক্তিগত কী সংরক্ষণের জন্য একটি ডিরেক্টরি তৈরি করা হয়েছে।

আমি ভুল হতে পারি, তাই আমি ভাবছি যে আমি কীভাবে gpg-agentএমনভাবে সেটআপ করতে পারি যাতে কোনও ফাইল / ডিরেক্টরি তৈরি হয় না? যদি এটি সম্ভব না হয় তবে + এর gpg-agentমতো কাজ করার জন্য অন্যান্য পরামর্শগুলিও স্বাগত। আমি সিহর্সের মতো জিইউআই সমাধানগুলি খুঁজছি না।ssh-agentssh-add


আপনি চেক আউট আছে gpg-connect-agent?
স্মিথাম্যাক্স

@ স্মিথাম্যাক্স না, তবে এটি একই কার্যকারিতাটি ব্যবহার করে বলে মনে হচ্ছে gpg-preset-passphrase। আমি দৌড়ে gpg-connect-agent, শেল উঠে শাস্তিপ্রাপ্ত setkey IDOFMYPRIVATEKEYHEREদ্বারা অনুসরণ preset_passphraseএবং আইডি ফলে "ছিল ERR 67108924 অসমর্থিত <দ্বারা GPG-এজেন্ট> - কোন --allow-প্রিসেট-পাসফ্রেজ"
Lekensteyn

উত্তর:


13

আমি আবার এটি একবার দেখার সিদ্ধান্ত নিয়েছি এবং এটি কীভাবে কাজ করে তা জানতে পেরেছি। জিপিজি পাসওয়ার্ড সংরক্ষণের জন্য "ক্যাশে" শব্দটি ব্যবহার করে। সর্বাধিক সঞ্চয়ের সময় দুটি সীমাবদ্ধতা আরোপ করা যেতে পারে:

  • কীটি প্রাথমিকভাবে যুক্ত হওয়ার পরে একটি পাসফ্রেজ রাখার সময়।
  • পাসফ্রেজ রাখার সময় এটি সর্বশেষে অ্যাক্সেস করা হয়েছিল।

তদ্ব্যতীত, উভয় সীমাবদ্ধতার জন্য দুটি প্রকারের উপস্থিতি রয়েছে, একটি জিপিজি কীগুলির জন্য এবং একটি এসএসএইচ কীগুলির জন্য (যদি সমর্থন সক্ষম করা থাকে)।

সম্পর্কিত ম্যানুয়াল পৃষ্ঠা থেকে প্রবেশ 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-agentসক্রিয় আছেন? (উদাহরণস্বরূপ, প্রক্রিয়া তালিকা পরীক্ষা করুন ps u -C gpg-agent)। ক্যাশে টাইমআউট সঠিকভাবে সেট করা আছে? আপনি যদি স্বাক্ষরকরণের জন্য এটি ব্যবহার করেন ((এসএসএইচ) প্রমাণীকরণের বিপরীতে), ignore-cache-for-signingবিকল্পটি কী আনসেটটি নেই?
লেকেনস্টেইন

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