Vraag Hoe heb ik me aangemeld bij een andere server zonder mijn privésleutel?


Ik had gewoon een heel eng moment, wat me dwong af te vragen over de veiligheid van mijn persoonlijke SSH-sleutel.

Dit is wat er gebeurde:

  1. Met mijn SSH-sleutel op mijn server aangemeld.
  2. Ik gaf de invoer voor mijn openbare sleutel op .ssh/authorized_keys aan mijn vriend.
  3. Hij plaatste dat in de zijne authorized_keys voor een nieuw account dat hij voor mij maakte om in te loggen.
  4. Ingelogd van mijn server naar zijn server met behulp van mijn SSH-sleutel.

Wat nu niet logisch is, is hoe ik erin geslaagd ben mijn SSH-sleutel te gebruiken om in te loggen op zijn server van mijn server. Mijn server heeft mijn privésleutel niet. Hoe kon ik erin inloggen? Kan mijn privésleutel ergens op mijn server staan, hoewel ik hem daar nooit heb geplaatst?

Inhoud van authorized_keys op beide servers:

ssh-rsa AAAAB3NzaC1yc2EAAAAD[more characters]FdQCw== robo@robo-ubuntu

Wat extra info:

robo@other-server:~$ ssh robo@localhost
robo@localhost's password: 
Login Success. [More default login info]
robo@other-server:~$

Mijn server werkt op een niet-standaard SSH-poort.

robo@my-server:~$ ssh -p [port number] robo@localhost
Login Success. [More default login info]
robo@my-server:~$ ls .ssh
authorized_keys  known_hosts
robo@my-server:~$ ssh -p [port number] robo@localhost
robo@localhost's password:
Login Success. [More default login info]
robo@my-server:~$ 

Merk op hoe SSHing in twee keer naar de localhost niet automatisch wordt ingelogd.

Dus blijkbaar is mijn sleutel doorgestuurd? Dit is wat mijn config daarover lijkt te zeggen:

robo@my-server:~$ cd /etc/ssh/; grep -iR "forward"
sshd_config:X11Forwarding yes
ssh_config:#   ForwardAgent no
ssh_config:#   ForwardX11 no
ssh_config:#   ForwardX11Trusted yes
robo@roboserver:/etc/ssh$

Ik zie twee verschillende "Voorwaartse" die het kunnen zijn. Het lijkt er echter op te wijzen dat het de authenticatie niet doorstuurt.


3
2018-05-03 01:05


oorsprong


@muru toegevoegd aan vraag. - Robobenklein
@muru Er gebeuren rare dingen: SSHing meerdere keren heeft verschillende resultaten. - Robobenklein
Is forwardAgent ingesteld op yes in uw ssh_config-bestand? Als dat het geval is, stuurt de server uw privésleutelinformatie door. - KevinC
@KevinC Ik controleerde de bestanden in / etc / ssh en ik kon niets vinden. - Robobenklein
grep -ialsjeblieft. Als het is Forward, anders komt het niet overeen. Gebruik het ook gewoon grep -iR forward /etc/ssh - het is gemakkelijker om het bestand te identificeren. - muru


antwoorden:


Uw desktop-client gebruikt een SSH-agent. U kunt eenvoudig controleren of uw verbinding een agent heeft die loopt en zo ja, of het gevuld is met uw ssh-sleutels door het volgende te typen op de commandoregel:

ssh-add -L

Een andere mogelijkheid is het gebruik van het vooraf gedefinieerde identiteitsbestand zoals gedefinieerd door de parameter 'IdentityFile' in uw globale ssh-configuratiebestand / etc / ssh / ssh_config of uw lokale ssh-configuratiebestand ~ / .ssh / config

De manier om erachter te komen welke sleutel het gebruikt, is om een ​​meer uitgebreide ssh-uitvoer te gebruiken:

ssh -vv user@host

1
2018-05-07 09:55



Het was in mijn lokale SSH-configuratie, waar ik veel van heb geleerd Dit artikel. - Robobenklein