অ-ইন্টারেক্টিভ ssh sudo… সরল পাঠ্যে পাসওয়ার্ডের জন্য অনুরোধ জানায়


9

আমি কিছু অ ইন্টারেক্টিভ ssh কমান্ড চালাচ্ছি। Ssh প্রমাণীকরণের জন্য ssh এজেন্টের মাধ্যমে সূক্ষ্মতার যত্ন নেওয়া হয়, তবে আমি যদি এমন একটি কমান্ড চালান যেটির জন্য sudo দরকার হয় তবে আমার টার্মিনালে পাসওয়ার্ড প্রম্পটটি সরল পাঠ্য। উদাহরণ স্বরূপ:

ssh remotemachine "sudo -u www mkdir -p /path/to/new/folder"

সরল পাঠ্যে পাসওয়ার্ডের জন্য আমাকে অনুরোধ করবে। কেউ কি জানেন যে আমি কীভাবে এটি স্বাভাবিক সুরক্ষিত প্রম্পটটি ব্যবহার করতে পারি বা আমি একটি সুইচের মাধ্যমে পাসওয়ার্ডটি পাস করতে পারি? (ততক্ষণে আমি কমান্ড প্রেরণের আগে এই দিকে একটি সুরক্ষিত প্রম্পট সেট আপ করতে পারি)

কোন সাহায্যের অনেক প্রশংসা করা হয়।

উত্তর:


13

ব্যবহার ssh -t:

man ssh

-t   Force pseudo-tty allocation. This can be used to execute arbitrary 
     screen-based programs on a remote machine, which can be very useful, 
     e.g. when implementing menu services. Multiple -t options force tty 
     allocation, even if ssh has no local tty.

সুতরাং আপনার আদেশ হবে

ssh remotemachine -t "sudo -u www mkdir -p /path/to/new/folder"

আপনি যদি পাসওয়ার্ড প্রবেশ করতে না চান, আপনি sudoersকমান্ড ব্যবহার করে (যদি আপনাকে অনুমতি দেওয়া হয়) পরিবর্তন করতে পারেন visudo

NOPASSWD:উদাহরণস্বরূপ, প্যারামিটার যুক্ত করুন

username ALL=(ALL) NOPASSWD: /bin/mkdir

আপনি যদি / etc / sudoers সম্পাদনা করতে না পারেন তবে আপনি ব্যবহার করতে পারেন sudo -S:

ম্যান সুডো

-S      The -S (stdin) option causes sudo to read the password from
        the standard input instead of the terminal device.  The
        password must be followed by a newline character.

যে সঙ্গে, কমান্ড হবে

echo "your_password" | ssh remotemachine -t \
     "sudo -S -u www mkdir -p /path/to/new/folder"

মনে রাখবেন যে এটি আপনার পাসওয়ার্ডটি আপনার শেলের ইতিহাস কমান্ডে যুক্ত করবে (ব্যাশ সহ, এটি ~/.bash_historyফাইল হবে)।

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