මුරපද සත්‍යාපනය පමණක් භාවිතා කිරීමට ssh සේවාදායකයාට බල කරන්නේ කෙසේද?


416

මම උදා: pubkey auth භාවිතා කරන්නේ නම්: උබුන්ටු 11.04 සේවාදායකයෙකුට මුරපද සත්‍යාපනය පමණක් භාවිතා කිරීමට ssh සේවාදායකයා සකසන්නේ කෙසේද? (සේවාදායකයක මුරපද පරික්ෂා කිරීම නිසා අවශ්‍ය වන්නේ මා පෙරනිමියෙන් යතුර සමඟ ලොග් වීමයි)

මම ක්‍රමයක් සොයාගත්තා:

mv ~/.ssh/id_rsa ~/.ssh/id_rsa.backup
mv ~/.ssh/id_rsa.pub ~/.ssh/id_rsa.pub.backup

දැන් මට මුරපදය ඉල්ලා සිටිනු ඇත, නමුත් කිසියම් අශෝභන ක්‍රම තිබේද?

Answers:


644

මට මෑතකදී මෙයද අවශ්‍ය වූ අතර මෙය ඉදිරිපත් විය:

ssh -o PreferredAuthentications=password -o PubkeyAuthentication=no example.com

මුරපද සත්‍යාපනය තහනම් කිරීම සඳහා සේවාදායකයා වින්‍යාස කර නොමැති බවට ඔබ සහතික විය යුතුය.


5
ස්වයංක්‍රීය සත්‍යාපනය සඳහා ssh -o GSSAPIAuthentication=no example.com
කර්බෙරොස්

25
හොඳයි. -o PubkeyAuthentication=noමගේ නඩුවේ පමණක් ප්‍රමාණවත් විය.
mivk

10
මිතුරෙකු වන ඔක්ස් ලැප්ටොප් පරිගණකයක් වෙතට යාමට, මට භාවිතා කිරීමට සිදු වූයේ: -o PreferredAuthentications=keyboard-interactive -o PubkeyAuthentication=no ඒ වෙනුවට
මාර්ගෝපදේශය

6
මෙය මට වැඩ කරන්නේ නැත. එය දිගින් දිගටම මෙසේ කියයි: අවසරය ප්‍රතික්ෂේප කරන ලදි (publickey). කිසි විටෙක මුරපද විමසුමක් ඉදිරිපත් නොකරයි.
ප්‍රතිස්ථාපනය කරන්න

9
@reinierpost බොහෝ විට ssh ධාරකය අක්‍රීය කර ඇති නිසා විය හැකිය PasswordAuthentication. ඇත්ත වශයෙන්ම, මම මෙහි පැමිණියේ මුරපද සත්‍යාපනය අක්‍රීය කිරීම මගේ සත්කාරකයේ නිවැරදිව ක්‍රියාත්මක වන බව පරීක්ෂා කිරීමට අවශ්‍ය නිසාය.
රබර් ඩක්

176

මේ සඳහා මම කෙටිමඟක් සොයාගෙන ඇත:

ssh user:@example.com

මහා බඩවැලේ ( :) සහ ඊට පසු හිස් මුරපදය සටහන් කරන්න.


1
මෙය කොතැනක හෝ ලේඛනගත කර තිබේද?
ෆහීම් මිත

3
තවම ලියකියවිලි නොමැත. ඇත්ත වශයෙන්ම, මම OpenSSH ප්‍රභව කේතය හරහා කිසිදු ප්‍රයෝජනයක් ගෙන නොමැත (එහි විග්‍රහ කිරීමේ අදියර තරමක් ගුප්ත වන අතර එය උදේ මෙහි වේ :)). මගේ ආරම්භක අභිප්‍රේරණය: ඔබ හිස් මුරපදයක් ලබා දෙන්නේ නම් බොහෝ සේවාදායකයින් මුරපදයක් ඉල්ලා සිටියි, උදාmysql -u user -p
හැලිල් Özgür

49
මෙය තවදුරටත් ක්‍රියාත්මක වන බවක් නොපෙනේ, අවම වශයෙන් මගේ කාරණයේදී නොවේ. sshඅළුතින් ස්ථාපනය කරන ලද සේවාදායකයක් සත්‍යාපනය කිරීම සඳහා සේවාදායකයා අන්ධ ලෙස උත්සාහ කර ඇති අතර මුරපදය ඉල්ලීමකින් තොරව උපරිම උත්සාහයන් ලබා ගැනීම නිසා එය ප්‍රතික්ෂේප කරනු ලැබේ. මෙම පළමු සම්බන්ධතාවය සඳහා මුරපද සත්‍යාපනය බල කිරීම සඳහා, මට -o PreferredAuthentications=passwordසැලකිය යුතු බලපෑමක් නොමැති සින්ටැක්ස් භාවිතා කිරීමට සිදු විය . එබැවින් මෙම උපක්‍රමය උත්සාහ කිරීම වටී විය හැකි නමුත්, යමෙකු එය ස්ථාවර හැසිරීමක් ලෙස විශ්වාස නොකළ යුතුය.
වයිට්වින්ටර් වුල්ෆ්

3
වයිට්වින්ටර් වුල්ෆ් පැවසූ පරිදි ක්වාල්කුනෝ, අවාසනාවකට මෙන් සමහර වේදිකාවල එය තවදුරටත් ක්‍රියාත්මක නොවේ.
හැලිල් Özgür

2
ඔබගේ ssh_config ගොනුවේ මුරපද සහතික කිරීමක් නොමැති බවට වග බලා ගන්න!
බ්‍රියාම්

39

ස්කූපර් විසින් පළ කරන ලද ක්‍රමවේදය මෙන්ම, ඔබේ ssh ග්‍රාහක වින්‍යාස ගොනුවේ එක් සත්කාරක විකල්පයක් සැකසිය හැකිය.

ඔබේ .sshනාමාවලියෙහි, ගොනුවක් සාදන්න config(එය දැනටමත් නොපවතී නම්) සහ අවසරයන් සකසන්න 600, එවිට ඔබට ආරම්භ වන කොටස් සෑදිය හැකිය

host <some hostname or pattern>

ඉන්පසු සත්කාරක විකල්පයකට පසුව සකසන්න, උදාහරණයක් ලෙස

host bob.specific.foo
user fred

host *.home.example
user billy
port 9191

ඉතින් ඔයාට පුළුවන්

host server.to.test
PubkeyAuthentication=no

එම ගොනුවේ, පසුව සරලව

ssh server.to.test

විකල්පය ලබා ගනී.


මෙම පිළිතුරට ස්තූතියි. මම මගේ ඇතුලත් කිරීමක් ~/.ssh/configඑකතු කර එකතු කළෙමිPubkeyAuthentication no
ක්‍රේග් ලන්ඩන්

2
මට වැඩ කරන්නේ නැහැ.
යලි යවන්න

මෙය මගේ ප්‍රශ්නය විසඳීය.
ජොනතන් ක්‍රොස්

14

මට මෑතකදී මෙය අවශ්‍ය වූ නමුත් ඉහත විකල්පයන් කිසිවක් ක්‍රියාත්මක නොවූ ssh -vඅතර, -oස්විචය හරහා විධාන රේඛා විකල්පයන් මගේ ~/.ssh/configගොනුවේ දක්වා ඇති අගයන් ඉක්මවා ගොස් ඇති බව පෙන්නුම් කළේය .

වැඩ කළේ මෙයයි:

ssh -F /dev/null <username>@<host>

සිට sshමිනිසා පිටුව:

 -F configfile
     Specifies an alternative per-user configuration file.  If a
     configuration file is given on the command line, the system-wide
     configuration file (/etc/ssh/ssh_config) will be ignored. The default 
     for the per-user configuration file is ~/.ssh/config.

මෙම පිළිතුරට බැර: ssh නොසලකා හැරීම .ssh / config කරන්නේ කෙසේද?


1
මෙය ප්‍රශ්නයට පිළිතුරු සපයන්නේ නැත. ඔබට සැමවිටම යතුරු නියෝජිතයා තුළ ගබඩා කර තැබිය හැකි අතර ඔබේ ප්‍රවේශය මඟින් සේවාදායකයා ඒවා භාවිතා කිරීම වලක්වනු නොලැබේ.
ජකුජේ

හ්ම්, යමෙක් එම ප්‍රශ්නයට මෙන්ම මගේ පිළිතුරෙහි සඳහන් කර ඇති ගැටලුවටද පිළියම් කරන්නේ කෙසේද?
adeelx

2
ඔබ සතුව යතුරු සම්මත ස්ථානයේ තිබේ නම් (ප්‍රශ්නයේ දී මෙන්), වින්‍යාසය තිබේද නැද්ද යන්න නොසලකා ඒවා භාවිතා කරනු ඇත. පළමු පිළිතුරු වල සඳහන් එක් ක්‍රමයක් සමඟ මම යන්නෙමි.
ජකුජේ

එය සත්‍යයක් නොවේ, මම එය මගේ ලුබුන්ටු 14.04 හි අත්හදා බැලුවෙමි. මගේ යතුරු සම්මත ස්ථානයේ තිබුණද ~/.ssh/config, මම සඳහන් කළහොත් යතුරු භාවිතා නොවේ -F /dev/null. ssh -vප්‍රතිදානය මෙම නඩුවේදී උපකාරී වේ, එය පැහැදිලිව පෙන්වන්නේ මගේ ssh වින්‍යාසය තුළ මා සතුව ඇති සියලුම ප්‍රවේශයන් ඇති *හෙයින්, එය -oපෙර පිළිතුරු වලදී මෙන් ස්විචය හරහා සම්මත කර ඇති විකල්පයන්ට ගරු කරනවාට වඩා පොදු යතුර භාවිතා කිරීමට තෝරා ගන්නා බවයි .
adeelx

1
~/.ssh/id_rsaඅත්පොත පිටුවේ දක්වා ඇති පරිදි සම්මත ස්ථානය . මෙම මාර්ග සේවාදායකයා තුළ දෘ c කේත කර ඇත. පරීක්ෂා කිරීමේදී ඔබ නිවැරදි පරිශීලකයා සපයන බවට වග බලා ගන්න.
ජකුජේ

6

මම මෙම පිළිතුරු වලින් කිහිපයක් උත්සාහ කළ නමුත් ssh -vමගේ පොදු යතුරු මගේ නිවාස නාමාවලියෙන් ඉවත් වන බව පෙන්වමින් සිටියෙමි. කෙසේ වෙතත්, ව්‍යාජ හැඳුනුම් ගොනුවක් සඳහන් කිරීම මට උපක්‍රමයක් විය:

ssh -i /dev/null host

රැඳී - මම මේ ස්ථිර PDU රාක්කය-සවිකර තිබීම APC දී බිඳුණු SSH සේවාදායකයේ පමණ වැඩ කරන්න (ඇති දුර ඔබ ආරක්ෂාව ගැන සැලකිලිමත් නම් දුරින් මේ දේවල් වලින් - මම මගේ config ගොනුව බවට විකල්පය දමා අවසන් නිසා:

Host apc1 apc2
KexAlgorithms +diffie-hellman-group1-sha1
IdentityFile /dev/null

2

BatchMode=yes.Ssh / config හි සක්‍රිය බවක් නොමැති බවට වග බලා ගන්න . එසේ නොමැතිනම් අන්තර්ක්‍රියාකාරී මුරපද විමසුමක් ලබා ගැනීමට ඔබට අවස්ථාවක් නොලැබේ.


1

oscoopr සහ alHalil Özgür පිළිතුරු මට වැඩ කළේ නැත.

මෙය මට ප්‍රයෝජනවත් විය:

ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no user@example.com

මුලාශ්‍රය: http://linuxcommando.blogspot.com/2008/10/how-to-disable-ssh-host-key-checking.html


14
ප්‍රශ්නය වන්නේ මුරපදය මඟින් සේවාදායකයා සත්‍යාපනය කිරීමයි. මෙම පිළිතුර සේවාදායක ධාරක යතුර දන්නා ධාරකයන්ගෙන් එකකට ගැලපේදැයි පරීක්ෂා කිරීමයි. ඇත්ත වශයෙන්ම එය වෙනත් ප්‍රශ්නයකට පිළිතුරු සපයයි
Anigel

1

මෙම ගැටලුව ඇති ලෝකයේ එකම පුද්ගලයා මම විය හැකිය, නමුත් මට sshවෙනත් මෙහෙයුම් පද්ධතියක සිට ක්‍රියාත්මක විය (සිග්වින් කවචයක වින්ඩෝස් හි choco ssh)which ssh

එබැවින් විසඳුම විය

 /usr/bin/ssh user@example.com

සම්පූර්ණ මාර්ගය සටහන් කරන්න. මම දුවලා ගියාට පස්සේ මේක කළාcyg-get openssh

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.