প্রতি সেশনে একবারে পাসফ্রেজ প্রবেশ করতে কীভাবে জিপিজি কনফিগার করবেন


18

gpgআমি কীভাবে একবারে পাসফ্রেজ প্রবেশ করলাম এমনভাবে কনফিগার করা কি উপযুক্ত এবং এটি পুরো সেশনে (আমি ব্যবহার করছি Ubuntu/XFce) কাজ করবে?

আমি কীভাবে gpgকাজ করে তা সম্পর্কে নিশ্চিত নই , মনে হয় ডিফল্ট ফাংশনটি হ'ল পাসফ্রেজের জন্য gpgজিজ্ঞাসা gpg-agentকরে এবং এজেন্ট পাসফ্রেজের জন্য জিজ্ঞাসা করতে পিন-এন্ট্রি চালায়।

আমি প্রতি সেশনে কেবল পেন্ট্রিট্রি-ক্রপস ব্যবহার করতে চাই, তাই আমি আমার পাসফ্রেজটি পেস্ট করতে পারি (আমার hexএকটি বাক্য থেকে স্ট্রিং রয়েছে - আমি ব্যবহার করি echo -n <SENTENCE> | str-hex) এবং পাসফ্রেজ না রেখে ক্লজ মেল থেকে ইমেল সই করতে পারি (আপনি ক্লজের সাহায্যে পেন্ট্রি-অভিশাপ ব্যবহার করতে পারবেন না) মেল)।

উত্তর:


16

আপনি এই পৃষ্ঠায় বর্ণিত কৌশলটি ব্যবহার করতে পারেন:

http://fvue.nl/wiki/Debian_4.0:_Installing_gpg-agent

এখানে সংক্ষেপ:

  1. জিপিজি-এজেন্ট এবং প্যান্ট্রি প্রোগ্রাম ইনস্টল করুন:

    sudo apt-get install gnupg-agent pinentry-curses
    
  2. নীচে লাইন যুক্ত করুন ~/.profile। যে কোনও POSIX- নিশ্চিতকরণ শেল এই ফাইল অন্তর্ভুক্ত করা উচিত।

    # Invoke GnuPG-Agent the first time we login.
    # Does `~/.gpg-agent-info' exist and points to gpg-agent process accepting signals?
    if test -f $HOME/.gpg-agent-info && \
        kill -0 `cut -d: -f 2 $HOME/.gpg-agent-info` 2>/dev/null; then
        GPG_AGENT_INFO=`cat $HOME/.gpg-agent-info | cut -c 16-`
    else
        # No, gpg-agent not available; start gpg-agent
        eval `gpg-agent --daemon --no-grab --write-env-file $HOME/.gpg-agent-info`
    fi
    export GPG_TTY=`tty`
    export GPG_AGENT_INFO
    

    আপনি লগইন করলে এই ছোট স্ক্রিপ্টটি সক্রিয় হবে। এজেন্ট চলমান না থাকলে এটি শুরু করা হবে। যখন এজেন্টটি শুরু হয়, এটি এটির সাথে সংযোগ স্থাপনের জন্য পরিবেশের পরিবর্তনশীলগুলি কীভাবে সেট করবেন তা দেখায়। স্ক্রিপ্টটি এই মানগুলিকে এতে সংরক্ষণ করে ~/.gpg-agent-info, যাতে আপনি যখন অন্য লগইন সেশনটি শুরু করেন তখন স্ক্রিপ্টটি ভেরিয়েবলগুলি সঠিকভাবে সেটআপ করতে পারে এবং এজেন্টটি ব্যবহার করতে পারে।

আপনাকে প্রতি বুটে একবার আপনার পাসফ্রেজ প্রবেশ করতে হবে। এজেন্ট আপনার কীগুলি মেমোরিতে সংরক্ষণ করবে, যাতে আপনাকে আবার পাসফ্রেজ প্রবেশ করতে হবে না।


আমি এই স্ক্রিপ্টটি সুখে ব্যবহার করছি, তবে এটি এলোমেলোভাবে ব্যর্থ হবে। অবশেষে, আমি GPG_PROCESS=`cut -d: -f 2 $HOME/.gpg-agent-info` if test -f $HOME/.gpg-agent-info && \ kill -0 ${GPG_PROCESS} 2>/dev/null && \ [[ ${GPG_PROCESS} == `pgrep -x -u "${USER}" gpg-agent` ]] ; thenএটিতে শর্তযুক্ত পরিবর্তন করেছি এবং এটি ভাল কাজ করেছে। সমস্যাটি হ'ল উপরের স্ক্রিপ্টটি প্রক্রিয়াটি .gpg-agent-infoবেঁচে আছে কিনা তা পরীক্ষা করে এবং এর সাথে সংকেত গ্রহণ করে kill -0। যদি কোনও প্রক্রিয়া থাকে তবে তা না gpg-agentহলে আমরা ভুল আচরণটি পাই। সংযুক্ত কোড চেক করে আমাদের সঠিক প্রক্রিয়া রয়েছে।
wyer33
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.