Ssh ওভার জিপিজি-এজেন্ট ব্যবহার করা


8

একক কমান্ড লাইনের মাধ্যমে ssh ওভার জিপিজি-এজেন্ট ব্যবহার করতে আমার সমস্যা হচ্ছে।

এখানে আমার কনফিগারেশন:

সার্ভার এ: ssh এর মাধ্যমে কমান্ডটি ট্রিগার করছে।

ssh user@serverB "sudo -E /path/to/script.sh"

সার্ভার বি: একটি পাসফ্রেজ স্বাক্ষর প্রয়োজন স্ক্রিপ্ট সম্পাদন।

সিস্টেম তথ্য: উবুন্টু 12.04

আমি সার্ভার বিতে জিপিজি-এজেন্ট সেটআপ করেছি, আমি এই কনফিগারেশনটিকে / home/user/.bashrc এ যুক্ত করেছি:

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 --write-env-file $HOME/.gpg-agent-info`
fi
export GPG_TTY=`tty`
export GPG_AGENT_INFO

এখানে /home/user/.gnupg/gpg-agent.conf এ এজেন্টের কনফিগারেশনটি রয়েছে:

enable-ssh-support
#1 year cache support
default-cache-ttl 31536000
default-cache-ttl-ssh 31536000
max-cache-ttl 31536000
max-cache-ttl-ssh 31536000
#debug-all

সুতরাং এই কাজগুলি করার জন্য, আমি ssh এর মাধ্যমে সার্ভারবি'তে সংযুক্ত হয়েছি:

ssh user@serverB

জিপিজি-এজেন্ট শুরু হয়েছে, আমি স্ক্রিপ্টটিকে ম্যানুয়ালি ট্রিগার করব:

sudo -E /path/to/script.sh

তারপরে, জিপিজি-এজেন্ট আমাকে একটি পাসফ্রেজ জিজ্ঞাসা করবে, একবার আমি পাসফ্রেজ সেটআপ করলে আমি আবার স্ক্রিপ্টটি চালাতে পারি, এবং এটি প্যাশপ্রেস না জিজ্ঞাসা করে এটির কাজটি করে চলেছে।

আমার সমস্যাটি হ'ল, যখন আমি এটিকে দূর থেকে ট্রিগার করার চেষ্টা করি, যেমন:

ssh user@serverB "sudo -E /path/to/script.sh"

দেখে মনে হচ্ছে জিপিজি-এজেন্ট কাজ করছে না, কারণ স্ক্রিপ্টটি আমাকে পাসফ্রেজের জন্য জিজ্ঞাসা করে চলেছে।

সম্পাদনা:

সুডো পাসওয়ার্ড ছাড়াই স্ক্রিপ্টটি দূরে সরিয়ে দিতে এবং পরিবেশের ভেরিয়েবলগুলি রাখতে আমি নিম্নলিখিত বিষয়বস্তুগুলিকে /etc/sudoers.d/user এ যুক্ত করেছি:

user ALL=(ALL)NOPASSWD:SETENV:/path/to/script.sh

কোন ধারনা?


প্রশ্নটি ক্ষমা করুন, তবে আপনি কি নিশ্চিত যে এটি একটি পাসফ্রেজ চাইছে? আপনি উপরে যা দেখিয়েছেন তা দিয়ে, আমি কমান্ডটি প্রমাণীকরণের জন্য এটি একটি পাসওয়ার্ড চাইতে চাইবে sudo
ম্যাডহ্যাটার

আমি ব্যবহারকারী / কমান্ডের জন্য নোপাসএসডাব্লুডি দিয়ে সুডোর ফাইল পরিচালনা করেছি যা আমি দূরে চালানোর চেষ্টা করি। আমারও এটিকে সুনির্দিষ্ট করার দরকার হতে পারে। এটি আমাকে একটি পাসফ্রেজের জন্য জিজ্ঞাসা করছে।
টনি

ঠিক আছে, এটা বোঝা যায়; স্পষ্ট করার জন্য ধন্যবাদ, আমি কেবল নিশ্চিত করতে চেয়েছিলাম যে আমরা প্রকট দ্বারা কামড় পাচ্ছি না!
ম্যাডহ্যাটার

উত্তর:


1

আপনি যখন লগইন করবেন ssh user@serverBতখন ম্যানুয়ালি স্ক্রিপ্টটি সম্পাদন করবেন এটি আপনাকে প্রথমবারের মতো পাসফ্রেজের জন্য অনুরোধ করবে, তারপরে আপনি যখন স্ক্রিপ্টটি চালাবেন shh-এজেন্ট সঞ্চিত পাসফ্রেজ সরবরাহ করবে।

যাইহোক আপনি চালানোর সময় আপনি ssh user@serverB "sudo -E /path/to/script.shপ্রতিবার একটি নতুন লগইন করছেন, এবং আমার মনে হয় না যে এসএসএইচ-এজেন্ট পৃথক এসএসএইচ লগইনগুলিতে পাসফ্রেজ সংরক্ষণে সমর্থন করবে।

কীচেইন আপনার যা প্রয়োজন তা করতে প্রদর্শিত হয়: http://www.funtoo.org/Keychain

কীচেইন সহ, আপনার স্থানীয় মেশিনটি পুনরায় বুট করার সময় কেবল একবার আপনাকে একটি পাসফ্রেজ প্রবেশ করতে হবে। আপনার স্ক্রিপ্টগুলি কী-ভিত্তিক লগইনগুলির সুবিধা গ্রহণের অনুমতি দেয়, রিমোট ক্রোন জবগুলি দীর্ঘস্থায়ী একটি এসএস-এজেন্ট প্রক্রিয়াতে সুরক্ষিতভাবে "হুক ইন" করা সহজ করে তোলে কীচেইন।

কীচেইনের বর্তমান সংস্করণটি এসপি-এজেন্টের পাশাপাশি জিপিজি-এজেন্টকে সমর্থন করে।


sshশৃঙ্খলা যতদূর যায়, আপনি ভুল। আমি দিনে অনেকবার এটি করি; sshহোস্ট এ থেকে শুরু করে হোস্ট বি, তারপরে সি এবং তারপরে ডি এর দিকে, মাথায় থাকা এসএসএল-এজেন্ট পুরো সময় কী অপারেশন করে।
ম্যাডহ্যাটার

আমার বোধগম্যতা হল তিনি এজেন্ট ব্যবহার করে এ থেকে বি তে সংযোগ দেওয়ার চেষ্টা করছেন না। সার্ভার বি এসএসএল-এজেন্ট ক্লায়েন্ট হিসাবে সেটআপ করা হয়েছে (সমস্ত উদ্দেশ্য এবং উদ্দেশ্যে) এবং যখন সে sudo -E /path/to/script.shসার্ভার বিতে চালায় তখন এখানকার কিছুতে পাসফ্রেজের প্রয়োজন হয়। সম্পাদনা: যদিও আপনার মন্তব্যে মনে রেখে, এটিকে এজেন্ট ক্লায়েন্ট হিসাবে কনফিগার করতে এবং এসএস-এজেন্ট ফরওয়ার্ডিং ব্যবহার করা তার পক্ষে পাসফ্রেজের অনুরোধ ছাড়াই সার্ভার বিতে স্ক্রিপ্টটি কার্যকর করার অনুমতি দেয় more ।
v25

ঠিক আছে, আমি সার্ভার এ জিপিজি-এজেন্ট সেটআপ করার চেষ্টা করব? আপনি এসএসএল-এজেন্ট ফরওয়ার্ডিং সম্পর্কে কিছু তথ্য পেয়েছেন? আমি এখনও অবধি এই পোস্টটি দেখেছি: superuser.com
টনি

এটি ভালভাবে নথিভুক্ত করা হয়েছে, এখানে একটি গাইড রয়েছে: livecipher.blogspot.co.uk/2013/02/ssh-agent-forwarding.html
v25

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