ubuntuusers.de

SSH Verbindung nicht möglich

Status: Gelöst | Ubuntu-Version: Server 22.04 (Jammy Jellyfish)
Antworten |

Son_Goku

Anmeldungsdatum:
8. September 2008

Beiträge: 69

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!

sebix Team-Icon

Ehemalige

Anmeldungsdatum:
14. April 2009

Beiträge: 5582

Weil die "Service-Connection" zwingend auf das veraltete und nicht mehr zu verwendende ssh-rsa angewiesen ist?

Son_Goku

(Themenstarter)

Anmeldungsdatum:
8. September 2008

Beiträge: 69

Aber die Zertifikate sind exakt die gleichen. Der Server prüft doch, ob er die Anmeldung mit dem gesendeten Zertifikat erlaubt und nicht der Client. Dann müsste eine Anmeldung von meinem Rechner doch auch fehlschlagen, weil das die gleichen ssh-rsa-Zertifikate sind.

lubux

Anmeldungsdatum:
21. November 2012

Beiträge: 14347

Son_Goku schrieb:

... Azure DevOps und hab eine SSH-Service-Connection ...

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?

Vergleiche mal nach dem kommentieren der zwei Zeilen die Du eingefügt hast (... so dass sie nicht mehr wirksam sind), die Ausgabe von:

ssh -v <...>

von deinem Rechner mit der von deinem DevOps.

Son_Goku

(Themenstarter)

Anmeldungsdatum:
8. September 2008

Beiträge: 69

Das kann ich leider net, da ich keinen Konsolen-Zugriff darauf hab. Ich trage nur die Zugangsdaten ein und der Dienst tut den Rest.

Ich hab nur Zugriff auf die Dokumentation

The Azure Pipelines SSH tasks use the Node.js ssh2 package for SSH connections. Ensure that you are using the latest version of the SSH tasks. Older versions may not support the OpenSSH key format. https://learn.microsoft.com/en-us/azure/devops/pipelines/tasks/deploy/ssh?view=azure-devops

Aber du meinst wahrscheinlich, dass der Client (DevOps) mit eine alte Version verwendet. Richtig? Dann hätte sich das Thema für mich erledigt, weil das kann ich nicht ändern.

sebix Team-Icon

Ehemalige

Anmeldungsdatum:
14. April 2009

Beiträge: 5582

Son_Goku schrieb:

Aber du meinst wahrscheinlich, dass der Client (DevOps) mit eine alte Version verwendet. Richtig?

genau

Antworten |