Hallo
ich hab das Problem bereits gelöst, suche aber noch den Grund dafür. Vielleicht hat ja jemand eine Idee.
Ich arbeite mit Azure DevOps und hab eine SSH-Service-Connection zu meinem Ubuntu-Server erstellt. Der Zugriff erfolgt über PrivateKey und Passphrase. Bis vor einigen Wochen hat alles super funktioniert. Seitdem (wahrscheinlich nach dem einspielen von Updates) hab ich aber immer folgende Fehlermeldung bekommen:
2022-11-08T16:17:43.4392466Z ##[error]Error: Failed to connect to remote machine. Verify the SSH service connection details. Failed to connect to remote machine. Verify the SSH service connection details. Error: All configured authentication methods failed at doNextAuth (/home/vsts/work/_tasks/CopyFilesOverSSH_67cec91b-0351-4c2f-8465-d74b3d2a2d96/0.212.0/node_modules/ssh2/lib/client.js:802:21) at tryNextAuth (/home/vsts/work/_tasks/CopyFilesOverSSH_67cec91b-0351-4c2f-8465-d74b3d2a2d96/0.212.0/node_modules/ssh2/lib/client.js:992:7) at USERAUTH_FAILURE (/home/vsts/work/_tasks/CopyFilesOverSSH_67cec91b-0351-4c2f-8465-d74b3d2a2d96/0.212.0/node_modules/ssh2/lib/client.js:373:11) at 51 (/home/vsts/work/_tasks/CopyFilesOverSSH_67cec91b-0351-4c2f-8465-d74b3d2a2d96/0.212.0/node_modules/ssh2/lib/protocol/handlers.misc.js:337:16) at Protocol.onPayload (/home/vsts/work/_tasks/CopyFilesOverSSH_67cec91b-0351-4c2f-8465-d74b3d2a2d96/0.212.0/node_modules/ssh2/lib/protocol/Protocol.js:2024:10) at AESGCMDecipherNative.decrypt (/home/vsts/work/_tasks/CopyFilesOverSSH_67cec91b-0351-4c2f-8465-d74b3d2a2d96/0.212.0/node_modules/ssh2/lib/protocol/crypto.js:992:26) at Protocol.parsePacket [as _parse] (/home/vsts/work/_tasks/CopyFilesOverSSH_67cec91b-0351-4c2f-8465-d74b3d2a2d96/0.212.0/node_modules/ssh2/lib/protocol/Protocol.js:1993:25) at Protocol.parse (/home/vsts/work/_tasks/CopyFilesOverSSH_67cec91b-0351-4c2f-8465-d74b3d2a2d96/0.212.0/node_modules/ssh2/lib/protocol/Protocol.js:292:16) at Socket.<anonymous> (/home/vsts/work/_tasks/CopyFilesOverSSH_67cec91b-0351-4c2f-8465-d74b3d2a2d96/0.212.0/node_modules/ssh2/lib/client.js:712:21) at Socket.emit (node:events:527:28) { level: 'client-authentication'
Ich hab die Verbindung zum Server von meinem PC als auch von meinem Handy mit dem entsprechenden Zertifikat getestet. Keine Probleme. Die Verbindung von DevOps zum Server hat aber trotz Neueinrichten immer noch nicht funktioniert.
In der auth.log finden sich folgende Zeilen:
Nov 9 10:21:17 mein-server-1 sshd[137332]: userauth_pubkey: key type ssh-rsa not in PubkeyAcceptedAlgorithms [preauth] Nov 9 10:21:17 mein-server-1 sshd[137332]: Received disconnect from 52.165.130.250 port 1024:11: [preauth] Nov 9 10:21:17 mein-server-1 sshd[137332]: Disconnected from authenticating user meinuser 52.165.130.250 port 1024 [preauth]
Abhilfe hat das Einfügen folgender 2 Zeilen in die /etc/ssh/sshd_config gebracht:
PubkeyAuthentication yes PubkeyAcceptedKeyTypes=+ssh-rsa
Jetzt meine Frage: Warum hat das von meinem Rechner (Ubuntu 22.04 mit allen installieren Updates) funktioniert, mit der Service-Connection und dem gleichen User und Zertifikat aber nicht?
Vielen Dank!