it-swarm-eu.dev

Jak přinutit ssh klienta, aby používal pouze autentizaci pomocí hesla?

Pokud používám ověřování pubkey z např .: Ubuntu 11.04, jak mohu nastavit klienta SSH tak, aby na server používal pouze ověřování heslem? (stačí, protože jsem testoval hesla na serveru, kde se standardně přihlašuji pomocí klíče)

Našel jsem cestu:

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

a teď dostanu výzvu k zadání hesla, ale existují nějaké oficiální způsoby?

414
LanceBaynes

Nedávno jsem to také potřeboval a přišel jsem s tímto:

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

Musíte se ujistit, že klient není nakonfigurován tak, aby zakázal ověřování heslem.

636
scoopr

Zjistil jsem zkratku za tímto účelem:

ssh user:@example.com

Poznámka: dvojtečka (:) a prázdné heslo za ním.

174
Halil Özgür

Stejně jako metodu zveřejněnou scoopr, můžete nastavit možnosti hostitele v konfiguračním souboru klienta ssh.

Ve vašem .ssh adresář, vytvořte soubor s názvem config (pokud již neexistuje) a nastavte oprávnění na 600, pak můžete vytvořit sekce, které začínají

Host <some hostname or pattern>

a poté nastavit možnosti hostitele, například

Host bob.specific.foo
user fred

Host *.home.example
user billy
port 9191

takže jste mohli mít

Host server.to.test
PubkeyAuthentication=no

v tomto souboru a pak jednoduše

ssh server.to.test

a možnost bude vyzvednuta.

38
EightBitTony

Nedávno jsem to potřeboval, ale žádná z výše uvedených možností nefungovala, ssh -v ukázalo, že možnosti příkazového řádku předané pomocí -o přepínač byl překonán hodnotami uvedenými v mém ~/.ssh/config soubor.

Co to fungovalo:

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

Ze stránky ssh man:

 -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.

Kredity k této odpovědi: Jak mohu donutit ssh ignorovat .ssh/config?

14
adeelx

Vyzkoušel jsem několik z těchto odpovědí, ale ssh -v Stále ukazoval, jak se moje veřejné klíče vytáhly z mého domovského adresáře. Trik pro mě však udělal zadáním falešného souboru identity:

ssh -i /dev/null Host

Musím to udělat natrvalo (abych obešel rozbitý server SSH v APU na racku připojeném k APC - zůstaň daleko pryč od těchto věcí, pokud ti záleží na bezpečnosti - tak jsem nakonec dal možnost do mého konfigurační soubor:

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

A také se ujistěte, že neexistuje BatchMode=yes aktivní v .ssh/config. Jinak nemáte šanci získat interaktivní heslo Prompt.

2
Gunnar Tiedt

Možná jsem jediný s tímto problémem na světě, ale viděl jsem ssh z jiného operačního systému (choco ssh ve Windows v cygwin Shell) viděný prostřednictvím which ssh

Takže řešení bylo

 /usr/bin/ssh [email protected]

Poznamenejte si úplnou cestu. Udělal jsem to poté, co jsem běžel cyg-get openssh

1
Jonathan

@scoopr a @Halil Özgür odpovědi pro mě nefungovaly.

To pro mě fungovalo:

ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no [email protected]

Zdroj: http://linuxcommando.blogspot.com/2008/10/how-to-disable-ssh-Host-key-checking.html

1
shrx