এসএসএইচ একক সাইন-অন সাধারণত পাবলিক কী প্রমাণীকরণ এবং একটি প্রমাণীকরণ এজেন্ট দ্বারা অর্জন করা হয়। আপনি কোনও বিদ্যমান লেখক এজেন্টের সাথে সহজেই আপনার পরীক্ষা ভিএম কী যুক্ত করতে পারেন (নীচের উদাহরণ দেখুন)। অন্যান্য পদ্ধতি যেমন গেসাপি / কার্বেরোস বিদ্যমান তবে এটি আরও জটিল।
sshpass
এমন পরিস্থিতিতে যেখানে password
একমাত্র প্রমাণীকরণ পদ্ধতি উপলভ্য, সেখানে স্বয়ংক্রিয়ভাবে পাসওয়ার্ড প্রবেশের জন্য sshpass ব্যবহার করা যেতে পারে। ম্যান পৃষ্ঠার সিকিউরিটি কনসাইডারেশন বিভাগে দয়া করে বিশেষ মনোযোগ দিন । তিনটি অপশনে, পাসওয়ার্ডটি দৃশ্যমান বা কোনও পর্যায়ে প্লেইন টেক্সটে সংরক্ষণ করা হয় :
নামবিহীন পাইপ (এসপিএস দ্বারা প্রস্তাবিত)
# Create a pipe
PIPE=$(mktemp -u)
mkfifo -m 600 $PIPE
# Attach it to file descriptior 3
exec 3<>$PIPE
# Delete the directory entry
rm $PIPE
# Write your password in the pipe
echo 'my_secret_password' >&3
# Connect with sshpass -d
sshpass -d3 ssh user@host
# Close the pipe when done
exec 3>&-
এটি ব্যাশ-এ বেশ জটিল, প্রোগ্রামিং ভাষাগুলির সাথে যুক্তিযুক্তভাবে সহজ। পাসওয়ার্ড লেখার আগে আরেকটি প্রক্রিয়া আপনার পাইপ / এফডি সংযুক্ত করতে পারে। সুযোগের উইন্ডোটি আপনার প্রক্রিয়া বা মূলের মধ্যে বেশ ছোট এবং সীমাবদ্ধ।
পরিবেশ সূচক
# Set your password in an environment variable
export SSHPASS='my_secret_password'
# Connect with sshpass -e
sshpass -e ssh user@host
Sshpass চলমান থাকাকালীন আপনি এবং রুট আপনার প্রক্রিয়াটির পরিবেশগত ভেরিয়েবলগুলি (যেমন আপনার পাসওয়ার্ড) পড়তে পারেন cat /proc/<pid>/environ | tr '\0' '\n' | grep ^SSHPASS=
। সুযোগের উইন্ডোটি অনেক দীর্ঘ তবে এখনও আপনার নিজস্ব প্রক্রিয়া বা রুটের মধ্যে সীমাবদ্ধ, অন্য ব্যবহারকারীদের নয়।
কমান্ড-লাইন আর্গুমেন্ট (কমপক্ষে সুরক্ষিত)
sshpass -p my_secret_password ssh user@host
ম্যান পৃষ্ঠাতে বর্ণিত হিসাবে এটি সুবিধাজনক তবে কম সুরক্ষিত। কমান্ড লাইন যুক্তি সকল ব্যবহারকারীর কাছে দৃশ্যমান (যেমন ps -ef | grep sshpass
)) sshpass আর্গুমেন্টটি আড়াল করার চেষ্টা করে, তবে এখনও একটি উইন্ডো রয়েছে যা চলাকালীন সমস্ত ব্যবহারকারী আপনার যুক্তি দিয়ে পাসওয়ার্ডটি দেখতে পাবে।
সাইড নোট
আপনার ব্যাশ সেট HISTCONTROL পরিবর্তনশীল করতে ignorespace
বা ignoreboth
এবং একটি স্পেস দিয়ে আপনার সংবেদনশীল কমান্ড প্রিফিক্স। তারা ইতিহাসে সংরক্ষণ করা হবে না।
এসএসএইচ পাবলিক কী প্রমাণীকরণ
# Generate a key pair
# Do NOT leave the passphrase empty
ssh-keygen
# Copy it to the remote host (added to .ssh/authorized_keys)
ssh-copy-id user@host
পাসফ্রেজটি খুব গুরুত্বপূর্ণ। যে কোনওভাবে প্রাইভেট কী ফাইলটি পাসফ্রেজ ছাড়াই এটি ব্যবহার করতে সক্ষম হবে না।
এসএসএইচ প্রমাণীকরণ এজেন্ট সেটআপ করুন
# Start the agent
eval `ssh-agent`
# Add the identity (private key) to the agent
ssh-add /path/to/private-key
# Enter key passphrase (one time only, while the agent is running)
যথারীতি সংযোগ করুন
ssh user@host
সুবিধাটি হ'ল আপনার প্রাইভেট কীটি এনক্রিপ্ট করা হয়েছে এবং আপনাকে কেবল একবার এর পাসফ্রেজটি প্রবেশ করতে হবে (নিরাপদ ইনপুট পদ্ধতির মাধ্যমেও)।