Intelligente Lösungen
in neuer Dimension

SSH-Schlüssel einspielen mit 'nc/netcat'

Manchmal habe ich einen Rechner vor mir, zu dem ich zwar eine Netzwerkverbindung habe, an dem ich mich aber nicht per SSH anmelden kann weil noch kein SSH-Schlüssel installiert ist.

Hier beschreibe ich, wie ich einen SSH-Schlüssel mittels nc einspiele!

Getestet mit Ubuntu-20.04.

Ausgangslage

  • Lokaler Rechner mit SSH-Schlüsseln
    • IP-Adresse: 192.168.0.158
  • “Neuer” Rechner ohne SSH-Schlüssel
    • IP-Adresse: 192.168.0.200

Beim Zugriff auf den neuen Rechner gibt es Fehler:

1
2
3
4
$ ssh root@192.168.0.200
Warning: Permanently added '192.168.0.200' (ECDSA) to the list of known hosts.
Received disconnect from 192.168.0.200 port 22:2: Too many authentication failures
Disconnected from 192.168.0.200 port 22

SSH-Schlüssel installieren

  • Neuer Rechner: nc -l -p 12345 >uli.txt
  • Lokaler Rechner: cat ~/.ssh/id_rsa.pub | nc -vN 192.168.0.200 12345
  • Neuer Rechner:
    • Sichten von uli.txt – PubKey ist da!
    • PubKey einspielen in ~/.ssh/authorized_keys
    • chmod 700 ~/.ssh
    • chmod 600 ~/.ssh/authorized_keys

Schlußtest

Zugriff klappt nun:

1
2
3
4
$ ubuntu@192.168.0.200
Warning: Permanently added '192.168.0.200' (ECDSA) to the list of known hosts.
Welcome to Ubuntu Jammy Jellyfish (development branch) (GNU/Linux 5.15.0-23-generic x86_64)
...

Historie und Anmerkung

  • 2022-04-26: Überschrift umformatiert
  • 2022-04-19: Erste Version