%20f%C3%BCr%20ssh%20-K%20manuell%20angeben%3F.png)
Soweit ich weiß, ssh -K somehost
wird bei der Ausgabe ein Kerberos-Token zur Authentifizierung verwendet somehost
. Ist es möglich anzugeben, welche Datei als Token verwendet werden soll?
Beachten Sie, dass Kerberos auf meinem Computer nicht richtig eingerichtet ist, ich aber nur das TGT von einem Computer kopiert habe, auf dem Kerberos richtig eingerichtet ist.
Genauer gesagt habe ich das Token dorthin kopiert /tmp/krb5cc_1000
(wobei 1000 meine UID ist), sodass klist
das Token wie folgt erkannt wird:
➜ ~ klist
Ticket cache: FILE:/tmp/krb5cc_1000
Default principal: [email protected]
Valid starting Expires Service principal
XXXX
XXXX
Ich möchte dies tun, da ich derzeit ssh
von meinem Laptop (L) zu einem Gateway-Server (G) muss, auf dem ich das Token ausgeben und dann per SSH zum endgültigen Server (S) wechseln kann. Da das Token möglicherweise für einen längeren Zeitraum gültig ist und eine transparente SSH-Weiterleitung mein Entwicklungs-Setup vereinfachen würde, möchte ich SSH einrichten ProxyCommand
. Allerdings erfordert SSH ProxyCommand, dass alle Schlüssel/Token auf dem lokalen Computer (L) vorhanden sind.
Derzeit verwende ich einen ProxyCommand wie folgt:
ProxyCommand ssh gateway nc %h %p
Dadurch kann ich zwar eine Verbindung zu (S) aufbauen, die Authentifizierung wird jedoch nicht abgeschlossen:
OpenSSH_7.3p1-hpn14v11, OpenSSL 1.0.2k 26 Jan 2017
debug1: Reading configuration data /home/user/.ssh/config
debug1: /home/user/.ssh/config line 1: Applying options for *
debug1: /home/user/.ssh/config line 10: Applying options for S
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Executing proxy command: exec ssh GW nc S -p 22
debug1: permanently_drop_suid: 1000
debug1: identity file /home/user/.ssh/id_rsa type 1
debug1: key_load_public: No such file or directory
debug1: identity file /home/user/.ssh/id_rsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/user/.ssh/id_dsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/user/.ssh/id_dsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/user/.ssh/id_ecdsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/user/.ssh/id_ecdsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/user/.ssh/id_ed25519 type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/user/.ssh/id_ed25519-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_7.3p1-hpn14v11
debug1: Remote protocol version 2.0, remote software version OpenSSH_6.6.1
debug1: match: OpenSSH_6.6.1 pat OpenSSH_6.6.1* compat 0x04000000
debug1: Remote is NON-HPN aware
debug1: Authenticating to S:22 as 'user'
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: AUTH STATE IS 0
debug1: kex: algorithm: [email protected]
debug1: kex: host key algorithm: ecdsa-sha2-nistp256
debug1: REQUESTED ENC.NAME is '[email protected]'
debug1: kex: server->client cipher: [email protected] MAC: <implicit> compression: none
debug1: REQUESTED ENC.NAME is '[email protected]'
debug1: kex: client->server cipher: [email protected] MAC: <implicit> compression: none
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
Ich habe versucht, eine Einstellung vorzunehmen GSSAPIAuthentication yes
, die meines Wissens nach die Authentifizierung über Kerberos erzwingen sollte.
Antwort1
Ist es möglich anzugeben, welche Datei als Token verwendet werden soll?
Nein. SSH verwendet das gleiche Ticket, das für klist
GSSAPI sichtbar und zugänglich ist.
das TGT von einer Maschine kopiert, auf der Kerberos ordnungsgemäß eingerichtet ist.
Ich glaube nicht, dass es so funktioniert. Beginnen Sie von vorne und richten Sie Kerberos richtig ein.
Dadurch kann ich zwar eine Verbindung zu (S) aufbauen, die Authentifizierung wird jedoch nicht abgeschlossen:
Die Authentifizierung wurde diesem Protokoll zufolge nicht einmal gestartet. Sie hängt beim Schlüsselaustausch, was ein völlig anderes Problem ist (es sei denn, Sie würden einen GSSAPI-Schlüsselaustausch durchführen, was Sie nicht tun).