2010-03-29 09:43:00 +0000 2010-03-29 09:43:00 +0000
181
181

Hoe kan ik SSH's host verificatie omzeilen voor bekende hosts?

Ik krijg de volgende prompt elke keer als ik een server probeer te verbinden via SSH. Ik typ “yes”, maar is er een manier om dit te voorkomen?

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)?

Antwoorden (8)

254
254
254
2010-03-29 10:53:30 +0000

Gebruik de -o optie,

ssh -o "StrictHostKeyChecking no" user@host
108
108
108
2013-08-06 21:56:17 +0000

Voeg de volgende regels toe aan het begin van /etc/ssh/ssh_config

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

Opties:

  • Het Host-subnet kan * zijn om onbeperkte toegang tot alle IP’s toe te staan.
  • Bewerk /etc/ssh/ssh_config voor globale configuratie of ~/.ssh/config voor gebruikersspecifieke configuratie.

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

28
28
28
2010-03-29 09:47:30 +0000

Je zou dit alleen de eerste keer moeten krijgen als je verbinding maakt met een nieuwe host. Nadat je yes hebt geantwoord, wordt de host opgeslagen in ~/.ssh/known_hosts en zul je de volgende keer dat je verbinding maakt geen prompt meer krijgen.

Merk op dat als ~/.ssh/known_hosts om de een of andere reden niet geschreven kan worden (b.v. permissies probleem) dat je dan elke keer gevraagd wordt als je verbinding maakt.

11
11
11
2010-06-08 22:29:47 +0000

De beste manier (omdat het niet ten koste gaat van de veiligheid) is om eenmaal verbinding te maken met alle computers vanaf één client (u wordt elke keer gevraagd, antwoord altijd met ja). Zoals aangegeven in het andere antwoord, zullen de sleutels dan worden opgeslagen in ~/.ssh/known_hosts. Kopieer dit bestand vervolgens naar elke clientcomputer waarvandaan u later misschien verbinding wilt maken (mogelijk voor elke gebruikersaccount die u gebruikt). Dan zullen al deze accounts de computers “kennen”, vandaar geen prompt.

Het voordeel van alleen de prompt uitschakelen is dat SSH daadwerkelijk kan controleren of er een MITM aanval is.

1
1
1
2015-07-11 23:20:24 +0000

Als u de bevestiging wilt uitschakelen, in plaats van de authenticatie, kunt u de optie gebruiken: “-o CheckHostIP=no”

ssh -i sergeys_rsa_key.pem -o CheckHostIP=no brin@8.8.8.8
0
0
0
2015-12-12 18:09:32 +0000

Dit is waarschijnlijk omdat uw ssh key server veranderd is, aangezien server ip of domein hetzelfde is maar ssh key mismatch.

Je moet de opgeslagen sleutel in /home/$user/.ssh/known_hosts verwijderen om deze melding te voorkomen.

Ik heb het opgelost door alle sleutels in dat bestand te verwijderen, zodat er een nieuw token wordt aangemaakt voor deze domeinnaam.

0
0
0
2020-01-27 07:10:41 +0000

Ik had een soortgelijk probleem waar ondanks het gebruik van de hierboven genoemde geverifieerde oplossing, mijn ssh niet werkte en dat kwam omdat het bekende_hosts bestand ontbrak in de ~/.ssh/ directory en het bestandssysteem was alleen-lezen. Dus tijdens het draaien kon ik ook het ~/.ssh/known_hosts bestand niet aanmaken.

Als je met een soortgelijk probleem te maken krijgt, kijk dan of je het known_hosts bestand in de /tmp locatie kunt schrijven. Dit is meestal schrijfbaar, zelfs in een alleen-lezen bestandssysteem.

Later in het ssh commando kunt u aangeven dat ssh het known_hosts bestand van de /tmp locatie moet lezen.

ssh -o UserKnownHostsFile=/tmp/known_hosts -o StrictHostKeyChecking=no user_name@destination_server_ip
-2
-2
-2
2018-11-09 12:14:07 +0000

Controleer de permissies op uw ~/.ssh/known_hosts bestand. De mijne waren onjuist toen ik dit probleem kreeg. Ik heb het opgelost met:

chmod 0600 ~/.ssh/known_hosts