Skip to content

Conversation

@zyga
Copy link
Contributor

@zyga zyga commented Jun 30, 2025

Update to the latest version of golang.org/x/crypto/ssh to add support of latest algorithms. At the same time use ssh.InsecureAlgorithms to support both ancient Ubuntu 14.04-era systems and daily Gentoo systems equally.

Update to the latest version of golang.org/x/crypto/ssh to add support
of latest algorithms. At the same time use ssh.InsecureAlgorithms to
support both ancient Ubuntu 14.04-era systems and daily Gentoo systems
equally.

Signed-off-by: Zygmunt Krynicki <me@zygoon.pl>
Copy link
Contributor

@bboozzoo bboozzoo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@cmatsuoka cmatsuoka requested a review from Copilot September 16, 2025 17:49
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR updates the SSH client configuration to support a broader range of SSH algorithms by upgrading to the latest version of golang.org/x/crypto/ssh and implementing a fallback mechanism for older systems.

  • Updates golang.org/x/crypto and related dependencies to their latest versions
  • Introduces allAlgorithms() function that combines secure and insecure SSH algorithms for compatibility
  • Modifies SSH client configurations in both client.go and openstack.go to use the extended algorithm sets

Reviewed Changes

Copilot reviewed 3 out of 4 changed files in this pull request and generated 1 comment.

File Description
spread/client.go Adds allAlgorithms() helper function and updates Dial() to use extended SSH algorithm configuration
spread/openstack.go Updates waitServerBootSSH() to use the new algorithm configuration for OpenStack server connections
go.mod Upgrades golang.org/x/crypto and related dependencies to latest versions

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

insecure := ssh.InsecureAlgorithms()

// Old systems may require old, insecure crypto, to connect.
// Prefer a secure algorithms by placing them earlier in the list.
Copy link

Copilot AI Sep 16, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The comment contains a grammatical error. It should be 'Prefer secure algorithms' instead of 'Prefer a secure algorithms'.

Suggested change
// Prefer a secure algorithms by placing them earlier in the list.
// Prefer secure algorithms by placing them earlier in the list.

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants