දන්නා ධාරකයන් සඳහා SSH හි ධාරක සත්‍යාපනය වළක්වා ගන්නේ කෙසේද?


186

SSH භාවිතා කර සේවාදායකයක් සම්බන්ධ කිරීමට උත්සාහ කරන සෑම අවස්ථාවකම මට පහත දැක්වෙන විමසුම ලැබේ. මම "ඔව්" ටයිප් කරමි, නමුත් මෙය වළක්වා ගැනීමට ක්‍රමයක් තිබේද?

The authenticity of host '111.222.333.444 (111.222.333.444)' can't be established.
RSA key fingerprint is f3:cf:58:ae:71:0b:c8:04:6f:34:a3:b2:e4:1e:0c:8b.
Are you sure you want to continue connecting (yes/no)? 

9
/ dev / null පවතින්නේ මැද ප්‍රහාර වලදී මිනිසාට ප්‍රතිශක්තියක් ඇතැයි සිතන අයටයි :)
ටිම් පෝස්ට්

1
නරකම කොටස: yයම් කාලයක් ඉතිරි කර ගැනීම සඳහා ටයිප් කරන්න, එය පැමිණිලි කරයි: Please type 'yes' or 'no': (hmph)
ADTC

Answers:


259

-oවිකල්පය භාවිතා කරන්න ,

ssh -o "StrictHostKeyChecking no" user@host

1
'-I' ධජය සමඟ විකල්ප හැඳුනුම් ගොනුවක් භාවිතා කිරීමට ඔබට අවශ්‍ය විය හැකිය
MUY බෙල්ජියම

විකල්ප හැඳුනුම් ගොනුවක් භාවිතා කිරීමෙන් ඇති ප්‍රයෝජනය කුමක්ද? මම අදහස් කළේ, ඔබ සම්මුති විරහිත සත්කාරක සමාගමකට සම්බන්ධ වන්නේ නම්, එය ඔබ සත්‍යාපනය කරන්නේ කෙසේද යන්නෙහි ඇති වෙනස කුමක්ද - එය සම්මුති විරහිත සත්කාරක සමාගමට ඔබේ යතුරද සොරකම් කළ හැකිය.
ඩේගල්ෆ්

115

ආරම්භයට පහත පේළි එක් කරන්න /etc/ssh/ssh_config...

Host 192.168.0.*
   StrictHostKeyChecking no
   UserKnownHostsFile=/dev/null

විකල්ප:

  • ධාරක අනුජාලය විය හැක්කේ *සියලුම අයිපී වලට සීමා රහිතව ප්‍රවේශ වීමට ඉඩ දීමයි.
  • /etc/ssh/ssh_configගෝලීය වින්‍යාසය ~/.ssh/configසඳහා හෝ පරිශීලක විශේෂිත වින්‍යාසය සඳහා සංස්කරණය කරන්න .

Http://linuxcommando.blogspot.com/2008/10/how-to-disable-ssh-host-key-checking.html බලන්න


2
අනුකම්පාව මට ඔබව ඔසවා තැබිය හැක්කේ එක් වරක් පමණි. KnownHosts / dev / null ලෙස සැකසීම බුද්ධිමත් ය.
J0hnG4lt

1
ඔබේ දක්ෂම තැනැත්තා.
ඩාර්ත් එග්‍රෙජියස්

33
හා! මගේ බිරිඳට කියන්න.
ජිම්ෆ්‍රඩ්

29

ඔබ මෙය ලබා ගත යුත්තේ ඔබ නව සත්කාරක සමාගමකට සම්බන්ධ වූ පළමු අවස්ථාව පමණි. ඔබ ප්‍රතිචාර දැක්වූ yesපසු ධාරකය ගබඩා වී ~/.ssh/known_hostsඇති අතර ඊළඟ වතාවේ ඔබ සම්බන්ධ වන විට ඔබෙන් විමසනු නොලැබේ.

~/.ssh/known_hostsකිසියම් හේතුවක් නිසා ලිවිය නොහැකි නම් (උදා: අවසර ගැටලුව) එවිට ඔබ සම්බන්ධ වන සෑම අවස්ථාවකම ඔබෙන් විමසනු ඇත.


8
ප්‍රශ්නය වන්නේ විමසීමෙන් වැළකී සිටීමට කෙසේ හෝ තිබේද?
shantanuo

මම / etc / ssh / ssh_config ගොනුවට "CheckHostIP no" එක් කිරීමට උත්සාහ කළෙමි. නමුත් එය ක්‍රියාත්මක වන බවක් නොපෙනේ
shantanuo

2
sudo chown -R පරිශීලක: පරිශීලක .ssh; sudo chmod 700 .ssh; sudo chmod -R 600 .ssh /; ssh-keygen -R $ ධාරක නාමය සහ නැවත සම්බන්ධ කිරීම මගින් සියලු ගැටලු ඉවත් කළ යුතු අතර ssk_Hostkey සමඟ සම්බන්ධ වී ඇත්නම් පමණක් නැවත විමසනු ඇත | වෙනස් කර හෝ ඔබ MITM වලට ගොදුරු වේ.
linuxdev2013

1
එය "සෑම
විටම

11

හොඳම ක්‍රමය (එය ආරක්ෂාව පරිත්‍යාග නොකරන නිසා) එක් සේවාදායකයකුගෙන් සියලුම පරිගණකවලට එක් වරක් සම්බන්ධ වීමයි (සෑම විටම ඔබෙන් විමසනු ඇත, සෑම විටම ඔව් යනුවෙන් පිළිතුරු දෙන්න). අනෙක් පිළිතුරෙහි පෙන්වා ඇති පරිදි, යතුරු ~ / .ssh / known_hosts තුළ ගබඩා වේ. පසුව ඔබට සම්බන්ධ වීමට අවශ්‍ය සෑම ග්‍රාහක පරිගණකයකටම මෙම ගොනුව පිටපත් කරන්න (සමහර විට ඔබ භාවිතා කරන සෑම පරිශීලක ගිණුමක් සඳහාම). එවිට මෙම ගිණුම් සියල්ලම පරිගණක "දැන ගනු ඇත", එබැවින් විමසුමක් නැත.

විමසුම අක්‍රීය කිරීමෙන් ලැබෙන වාසිය නම් SSH හට ඇත්ත වශයෙන්ම MITM ප්‍රහාරයක් තිබේදැයි පරීක්ෂා කළ හැකි වීමයි.


1
ඔබ බොහෝ විට ඉදිරි සම්බන්ධතා හරහා ගමන් කරන්නේ නම්, ඔබට මෙය / etc / ssh / ssh_config: ධාරක 127.0.0.1 වෙත එක් කිරීමට අවශ්‍ය වනු ඇත. NoHostAuthenticationForLocalhost ඔව්
Dagelf

1

සත්‍යාපනය වෙනුවට තහවුරු කිරීම අක්‍රිය කිරීමට ඔබට අවශ්‍ය නම්, ඔබට විකල්පය භාවිතා කළ හැකිය: "-o CheckHostIP = නැත"

ssh -i sergeys_rsa_key.pem -o CheckHostIP=no brin@8.8.8.8

OP දැනටමත් එකම පිළිතුර ලබාගෙන එය පිළිගෙන ඇත.
අයන්

0

මෙය ඔබගේ ssh යතුරු සේවාදායකය වෙනස් වී ඇති නිසා විය හැකිය, සේවාදායක ip හෝ වසම එක සමාන නමුත් ssh යතුරු නොගැලපීම.

/home/$user/.ssh/known_hostsමෙම පණිවිඩය වළක්වා ගැනීම සඳහා ඔබ ගබඩා කර ඇති යතුර ඉවත් කළ යුතුය .

එම ගොනුවේ ඇති සියලුම යතුරු ඉවත් කරමින් මම එය සවි කළෙමි, එබැවින් මෙම ඩොමේන් නාමය සඳහා නව ටෝකනයක් සාදනු ලැබේ.


1
යතුර වෙනස් කිරීම ඇට්සයින් පෙට්ටියක් WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! සහ IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!සියලු කැප් වලින් වඩාත් අවලස්සන පණිවිඩයක් නිපදවයි . ප්‍රශ්නයේ පණිවිඩය සිදුවන්නේ දැනටමත් ඇතුල්වීමක් නොමැති නම් පමණි known_hosts.
dave_thompson_085

0

ඉහත සඳහන් සත්‍යාපිත විසඳුම භාවිතා කළද, මගේ ssh ක්‍රියා විරහිත වූ අතර, දන්නා_හෝස්ට් ගොනුව ~ / .ssh / බහලුමෙන් අස්ථානගත වී ඇති අතර ගොනු පද්ධතිය කියවීමට පමණක් හේතු වූ නිසා මටද එවැනිම ගැටලුවකට මුහුණ දීමට සිදුවිය. SO ධාවන කාලය තුළ මට ~ / .ssh / known_hosts ගොනුව නිර්මාණය කිරීමට නොහැකි විය.

ඔබ සමාන ගැටලුවකට මුහුණ දෙන්නේ නම්, ඔබට දන්නා_හෝස්ට් ගොනුව / tmp ස්ථානයේ ලිවිය හැකිදැයි බලන්න. මෙය බොහෝ දුරට කියවීමට පමණක් ඇති ගොනු පද්ධතියක පවා ලිවීමට හැකියාව ඇත.

පසුව ssh විධානය මඟින් / tmp ස්ථානයෙන් දන්නා_හෝස්ට් ගොනුව කියවීමට ඔබට ssh නියම කළ හැකිය.

ssh -o UserKnownHostsFile=/tmp/known_hosts -o StrictHostKeyChecking=no user_name@destination_server_ip

-2

ඔබගේ ~/.ssh/known_hostsගොනුවේ ඇති අවසරයන් පරීක්ෂා කරන්න . මට මෙම ගැටලුව ඇති වූ විට මගේ වැරදි විය. මම එය සමඟ එය සවි කළෙමි:

chmod 0600 ~/.ssh/known_hosts
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.