ssh funktioniert unter CentOS 8 (GCE VM) nicht mehr
Bei mir funktionierte SSH mit einem Pub/Private-Schlüsselpaar zwei Tage lang problemlos auf einer GCE CentOS 8-VM, dann funktionierte es nicht mehr.
Jetzt bekomme ich:
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
Es hat also funktioniert, d. h. alles war eingerichtet, richtig konfiguriert und alle Berechtigungen funktionierten richtig. Und jetzt funktioniert es nicht. Es liegt also nicht an der Konfiguration. An der Konfiguration hat sich nichts geändert.
Bei mir läuft das gleiche Setup unter CentOS 7 und es läuft einfach immer weiter, ist nie ausgefallen, hat nie aufgehört zu funktionieren oder hatte ein Problem.
Die Konfiguration ist korrekt, ich habe die Datei- und Verzeichnisberechtigungen überprüft.
$cd $HOME/.ssh
$ls -al .
Ergebnisse:
drwx------. 3 user group 156 Oct 17 10:11 .
drwxrwx---. 12 user group 4096 Oct 17 10:09 ..
-rw-------. 1 user group 197 Oct 17 10:09 authorized_keys
Ich habe einen Schlüssel wie folgt generiert (in Cygwin) und den Inhalt der .pub-Datei auf der GCE-VM in /home/user/.ssh/authorized_keys abgelegt
ssh-keygen -f id_ed25519 -o -a 100 -t ed25519 -C "from:cygwin"
Früher am Tag hat es funktioniert, jetzt jedoch nicht mehr.
Mein Verbindungsskript:
#!/bin/bash
IP=x.x.x.x
LOCAL_KEYFILE="/c/home/user/.ssh/id_ed25519"
REMOTE_USER='user'
ssh -v -i $LOCAL_KEYFILE $REMOTE_USER@$IP
$systemctl status sshd.service
● sshd.service - OpenSSH server daemon
Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2019-10-17 10:19:12 UTC; 17ms ago
Docs: man:sshd(8)
man:sshd_config(5)
Main PID: 2504 (sshd)
Tasks: 1 (limit: 26213)
Memory: 1.1M
CGroup: /system.slice/sshd.service
└─2504 /usr/sbin/sshd -D [email protected],[email protected],aes256-ctr,aes256-cbc,[email protected],aes128-ctr,aes128-cbc [email protected],[email protected],[email protected]>
Oct 17 10:19:12 host_name systemd[1]: Starting OpenSSH server daemon...
Oct 17 10:19:12 host_name sshd[2504]: Server listening on 0.0.0.0 port 22.
Oct 17 10:19:12 host_name sshd[2504]: Server listening on :: port 22.
Oct 17 10:19:12 host_name systemd[1]: Started OpenSSH server daemon.
ausführliche Ausgabe beim Verbindungsversuch:
OpenSSH_8.0p1, OpenSSL 1.1.1d 10 Sep 2019
debug1: Connecting to x.x.x.x [x.x.x.x] port 22.
debug1: Connection established.
debug1: identity file /g/home/user/.ssh/id_ed25519 type 3
debug1: identity file /g/home/user/.ssh/id_ed25519-cert type -1 <== I dunno what this is, I don't have this file local
debug1: Local version string SSH-2.0-OpenSSH_8.0
debug1: Remote protocol version 2.0, remote software version OpenSSH_7.8
debug1: match: OpenSSH_7.8 pat OpenSSH* compat 0x04000000
debug1: Authenticating to 34.82.235.87:22 as 'proc'
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: algorithm: [email protected]
debug1: kex: host key algorithm: ecdsa-sha2-nistp256
debug1: kex: server->client cipher: [email protected] MAC: <implicit> compression: none
debug1: kex: client->server cipher: [email protected] MAC: <implicit> compression: none
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: Server host key: ecdsa-sha2-nistp256 SHA256:nfWd1FFBjYKQ7G7j4hkftEfB8UowSKkwfJzC2T8UF1g
debug1: Host '34.82.235.87' is known and matches the ECDSA host key.
debug1: Found key in /home/<another-unrelated-user>/.ssh/known_hosts:11 <== why is it reference another user here?
debug1: rekey out after 134217728 blocks
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: rekey in after 134217728 blocks
debug1: Will attempt key: /g/home/user/.ssh/id_ed25519 ED25519 SHA256:7o0XJjVnZLuzi+fO1NUUkFKpwKqw87u208IBy53zHcI explicit
debug1: SSH2_MSG_EXT_INFO received
debug1: kex_input_ext_info: server-sig-algs=<ssh-ed25519,ssh-rsa,rsa-sha2-256,rsa-sha2-512,ssh-dss,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,null>
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic
debug1: Next authentication method: publickey
debug1: Offering public key: /g/home/user/.ssh/id_ed25519 ED25519 SHA256:7o0XJjVnZLuzi+fO1NUUkFKpwKqw87u208IBy53zHcI explicit
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic
debug1: No more authentication methods to try.
[email protected]: Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
Ich habe einige Artikel gefunden, in denen stand, dass ich diese Befehle ausführen sollte, also habe ich das getan:
restorecon -Rv /home/user/.ssh/
restorecon -Rv /home/user/.ssh/authorized_keys
semanage fcontext -a -t ssh_home_t "/home/user/.ssh/authorized_keys"
und nachdem ich jeden ausgeführt hatte, startete ich sshd neu und versuchte eine Verbindung herzustellen und bekam die gleichen Ergebnisse (dieselbe Fehlermeldung). Neustartbefehl:
systemctl restart sshd.service
Ich wäre für alle Ideen sehr dankbar, das ist einfach rätselhaft.
An den GCE-Firewalleinstellungen hat sich nichts geändert, Port 22 ist geöffnet und ich kann eine Verbindung zu einer VM herstellen, die mit demselben Netzwerk konfiguriert ist.
Ich kann eine Verbindung über SSH herstellen, wenn ich ein Fenster im Browser öffne:
https://console.cloud.google.com/compute/instancesDetail/zones/us-west1-b/instances/<instance>?project=<project-name>
Ich habe Selinux mit Folgendem ausgeschaltet:
setenforce 0
und in `/etc/selinux/config setze ichSELINUX=deaktiviert und habe die VM neu gestartet, aber ohne Erfolg.