SSH තනි පුරනය වීම සාමාන්යයෙන් පොදු යතුරු සත්යාපනය සහ සත්යාපන නියෝජිතයා සමඟ ළඟා වේ. ඔබගේ පරීක්ෂණ VM යතුර දැනට පවතින සත්යාපන නියෝජිතයෙකුට පහසුවෙන් එකතු කළ හැකිය (පහත උදාහරණය බලන්න). Gssapi / kerberos වැනි වෙනත් ක්රම පවතින නමුත් වඩාත් සංකීර්ණ වේ.
sshpass
පවතින password
එකම සත්යාපන ක්රමය ඇති අවස්ථාවන්හිදී, මුරපදය ස්වයංක්රීයව ඇතුළත් කිරීමට sshpass භාවිතා කළ හැකිය. කරුණාකර මෑන් පිටුවේ සුරක්ෂිතතා උපදේශන අංශය කෙරෙහි විශේෂ අවධානයක් යොමු කරන්න . මෙම විකල්ප තුනෙහිම, මුරපදය දෘශ්යමාන වේ හෝ යම් අවස්ථාවක සාමාන්ය පෙළෙහි ගබඩා වේ :
නිර්නාමික පයිප්ප (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 ක්රියාත්මක වන විට ඔබට සහ root හට ඔබේ ක්රියාවලියේ පරිසර විචල්යයන් (එනම් ඔබේ මුරපදය) කියවිය හැකිය cat /proc/<pid>/environ | tr '\0' '\n' | grep ^SSHPASS=
. අවස්ථාවන්හි කවුළුව වඩා දිගු නමුත් තවමත් ඔබේම ක්රියාවලි හෝ මූලයට සීමා වී ඇත, වෙනත් පරිශීලකයින් නොවේ.
විධාන රේඛා තර්කය (අවම වශයෙන් ආරක්ෂිතයි)
sshpass -p my_secret_password ssh user@host
මෑන් පිටුවේ විස්තර කර ඇති පරිදි මෙය පහසු නමුත් අඩු ආරක්ෂිත වේ. විධාන රේඛා තර්ක සියලු පරිශීලකයින්ට දැකිය හැකිය (උදා ps -ef | grep sshpass
). sshpass තර්කය සැඟවීමට උත්සාහ කරයි, නමුත් ඔබගේ මුරපදය තර්කය මගින් සම්මත කර ඇති ආකාරය සියලු පරිශීලකයින්ට දැකගත හැකි කවුළුවක් තවමත් පවතී .
පැති සටහන
ඔබගේ bash සකසන්න HISTCONTROL විචල්ය කිරීමට ignorespace
හෝ ignoreboth
සහ අවකාශය සමඟ ඔබේ සංවේදී විධාන උපසර්ගය. ඒවා ඉතිහාසයේ සුරැකෙන්නේ නැත.
SSH පොදු යතුරු සත්යාපනය
# 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
මුරපදය ඉතා වැදගත් වේ. පුද්ගලික යතුරු ගොනුව කෙසේ හෝ ලබා ගන්නා ඕනෑම කෙනෙකුට මුරපදය නොමැතිව එය භාවිතා කළ නොහැක.
SSH සත්යාපන නියෝජිතයා සකසන්න
# 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
වාසිය නම් ඔබේ පුද්ගලික යතුර සංකේතනය කර ඇති අතර ඔබට එහි මුරපදය ඇතුළත් කළ යුත්තේ එක් වරක් පමණි (ආරක්ෂිත ආදාන ක්රමයක් හරහාද).