ssh
උබුන්ටු 11.04 සඳහා දැඩි ධාරක යතුරු පිරික්සුම අක්රිය කිරීමට මම කැමතියි . එය කරන්නේ කෙසේද?
ssh -o UserKnownHostsFile=/dev/null
ssh
උබුන්ටු 11.04 සඳහා දැඩි ධාරක යතුරු පිරික්සුම අක්රිය කිරීමට මම කැමතියි . එය කරන්නේ කෙසේද?
ssh -o UserKnownHostsFile=/dev/null
Answers:
ඔබගේ ~/.ssh/config
(මෙම ගොනුව නොපවතී නම්, එය සාදන්න):
Host *
StrictHostKeyChecking no
ඔබ සම්බන්ධ කරන සියලුම සත්කාරක සඳහා මෙය අක්රිය කරයි. ඔබට *
සමහර ධාරකයන්ට පමණක් අදාළ වීමට අවශ්ය නම් ඔබට ධාරක නාම රටාවක් ආදේශ කළ හැකිය .
ගොනුවේ ඇති අවසරයන් ඔබට පමණක් ප්රවේශ වීම සීමා කරන බවට වග බලා ගන්න:
sudo chmod 400 ~/.ssh/config
config
මගේ නිවාස නාමාවලියෙහි කිසිදු ගොනුවක් නම් කර නොමැත .
.ssh
ඔබගේ හෝමඩියේ උප බහලුමේ ද ඇති බව සලකන්න.
ssh -o UserKnownHostsFile=/dev/null
~/.ssh/config
සියලුම සත්කාරක * සඳහා එය ඔබගේ ගොනුවට එකතු කරනවා වෙනුවට , විශේෂිත ධාරකයක් නියම කිරීම ආරක්ෂිත වේ.
විධාන රේඛාවේ පරාමිතියක් ද ඔබට මේ ආකාරයෙන් සම්මත කළ හැකිය:
ssh -o StrictHostKeyChecking=no yourHardenedHost.com
Warning: Permanently added 'frxxx.blaps.net,10.11.12.13' (RSA) to the list of known hosts.
ssh -o UserKnownHostsFile=/dev/null
ඒ වෙනුවට විය යුතුය .
ඔබගේ ssh වින්යාසය තුළ එම සැකසුම පෙන්වා දීම වටී:
StrictHostKeyChecking no
එහි අර්ථය වන්නේ සත්කාරක යතුරු .ssh / known_hosts වෙත තවමත් එකතු කර ඇති බවයි - ඔබ ඔවුන්ව විශ්වාස කරනවාද යන්න ගැන ඔබෙන් විමසනු නොලැබේ, නමුත් ධාරකයන් වෙනස් වුවහොත් ඔබට ඒ පිළිබඳව විශාල අනතුරු ඇඟවීමක් ලැබෙනු ඇතැයි මම ඔට්ටු ඇල්ලීමට කැමැත්තෙමි. තවත් පරාමිතියක් එකතු කිරීමෙන් ඔබට මෙම ගැටළුව විසඳා ගත හැකිය:
UserKnownHostsFile /dev/null
මෙමඟින් "අලුතින් සොයාගත්" ධාරකයන් සියල්ලම කුණු කූඩයට එකතු වේ. ධාරක යතුර වෙනස් වුවහොත් කරදරයක් නැත.
සත්කාරක සේවකයන් පිළිබඳ මෙම අනතුරු ඇඟවීම් මග හැරීම පැහැදිලිවම ආරක්ෂක විධිවිධාන ඇති බව සඳහන් නොකිරීමට මට මතක් වනු ඇත - ඔබ එය කරන්නේ නිවැරදි හේතු නිසා බවත් ඔබ සැබවින්ම සම්බන්ධ වන්නේ ඔබ සම්බන්ධ වීමට අදහස් කරන දේ බවත් අනිෂ්ට සත්කාරක සමාගමක්, මේ අවස්ථාවේ දී ඔබ විසඳුමක් ලෙස ssh හි ආරක්ෂාවේ ප්රධාන කොටසක් ඛාදනය කර ඇත.
උදාහරණයක් ලෙස ඔබ මෙය විධාන රේඛාව සමඟ සැකසීමට උත්සාහ කරන්නේ නම්, සම්පූර්ණ විධානය වනුයේ:
ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null user@host
එය මෝඩකමක් වුවද - ssh වින්යාස ගොනු සඳහා ඉහත වැඩ කරන උදාහරණ සෑම අවස්ථාවකම වඩා අර්ථවත් වනු ඇත.
ssh -o StrictHostKeyChecking=no -o UserKnownHostFiles=/dev/null user@host
. මගේ නඩුවේදී මම issh
ධාරක යතුරු වෙනස්වීම් දන්නා ධාරකයන් සමඟ සම්බන්ධ වීමට භාවිතා කරමි .
UserKnownHostsFile
නොවේ UserKnownHostFiles
.
FYI. Cssh භාවිතා කරන විට ධාරක පරීක්ෂාව අක්රිය කිරීමට මම කැමැත්තෙමි.
alias cssh='ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null'
cssh
නැත්නම් ssh
?
-o
අනවශ්යද?
alias relay='ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null 11086695@172.26.19.19 -p 2222'
මා වෙනුවෙන් වැඩ කරන්න
එය කුමක් සිට වගේ ,
NoHostAuthenticationForLocalhost yes
ඔබට ප්රමාණවත් විය හැකිය . ඔබට තවමත් එම ආරක්ෂාව පවත්වා ගැනීමට හැකි වනු ඇත.
https://askubuntu.com/a/87452/129227 මඟින් වින්යාස ගොනුව වෙනස් කිරීමට යෝජනා කරයි. නමුත් ඕනෑම සත්කාරකයකු සඳහා දේවල් විවෘත කරනවා වෙනුවට මට අවශ්ය වූයේ මෙය එක් සත්කාරක සමාගමකට සිදු කිරීමයි. ක්රියාවලිය ස්වයංක්රීය කිරීමට පහත පිටපත උපකාරී වේ:
උදාහරණ ඇමතුම
./sshchek somedomain site1 site2 site3
sshcheck ස්ක්රිප්ට්
#!/bin/bash
# WF 2017-08-25
# check ssh access to bitplan servers
#ansi colors
#http://www.csc.uvic.ca/~sae/seng265/fall04/tips/s265s047-tips/bash-using-colors.html
blue='\033[0;34m'
red='\033[0;31m'
green='\033[0;32m' # '\e[1;32m' is too bright for white bg.
endColor='\033[0m'
#
# a colored message
# params:
# 1: l_color - the color of the message
# 2: l_msg - the message to display
#
color_msg() {
local l_color="$1"
local l_msg="$2"
echo -e "${l_color}$l_msg${endColor}"
}
#
# error
#
# show an error message and exit
#
# params:
# 1: l_msg - the message to display
error() {
local l_msg="$1"
# use ansi red for error
color_msg $red "Error: $l_msg" 1>&2
exit 1
}
#
# show the usage
#
usage() {
echo "usage: $0 domain sites"
exit 1
}
#
# check the given server
#
checkserver() {
local l_server="$1"
grep $l_server $sconfig > /dev/null
if [ $? -eq 1 ]
then
color_msg $blue "adding $l_server to $sconfig"
today=$(date "+%Y-%m-%d")
echo "# added $today by $0" >> $sconfig
echo "Host $l_server" >> $sconfig
echo " StrictHostKeyChecking no" >> $sconfig
echo " userKnownHostsFile=/dev/null" >> $sconfig
echo "" >> $sconfig
else
color_msg $green "$l_server found in $sconfig"
fi
ssh -q $l_server id > /dev/null
if [ $? -eq 0 ]
then
color_msg $green "$l_server accessible via ssh"
else
color_msg $red "ssh to $l_server failed"
color_msg $blue "shall I ssh-copy-id credentials to $l_server?"
read answer
case $answer in
y|yes) ssh-copy-id $l_server
esac
fi
}
#
# check all servers
#
checkservers() {
me=$(hostname -f)
for server in $(echo $* | sort)
do
os=`uname`
case $os in
# Mac OS X
Darwin*)
pingoption=" -t1";;
*) ;;
esac
pingresult=$(ping $pingoption -i0.2 -c1 $server)
echo $pingresult | grep 100 > /dev/null
if [ $? -eq 1 ]
then
checkserver $server
checkserver $server.$domain
else
color_msg $red "ping to $server failed"
fi
done
}
#
# check configuration
#
checkconfig() {
#/ubuntu/87449/how-to-disable-strict-host-key-checking-in-ssh
if [ -f $sconfig ]
then
color_msg $green "$sconfig exists"
ls -l $sconfig
fi
}
sconfig=~/.ssh/config
case $# in
0) usage ;;
1) usage ;;
*)
domain=$1
shift
color_msg $blue "checking ssh configuration for domain $domain sites $*"
checkconfig
checkservers $*
;;
esac