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?
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.
Zjistil jsem zkratku za tímto účelem:
ssh user:@example.com
Poznámka: dvojtečka (:
) a prázdné heslo za ním.
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.
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?
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
A také se ujistěte, že neexistuje BatchMode=yes
aktivní v .ssh/config. Jinak nemáte šanci získat interaktivní heslo Prompt.
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
@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