diff --git a/cmd/tk/create_source_git.go b/cmd/tk/create_source_git.go
index 9f112af9e2ff82eb4cd479853be077d5b347ef25..97f4934fbed3521a60a37a25d1ce76fd73cb9abb 100644
--- a/cmd/tk/create_source_git.go
+++ b/cmd/tk/create_source_git.go
@@ -140,11 +140,7 @@ func createSourceGitCmdRun(cmd *cobra.Command, args []string) error {
 		}
 
 		logAction("collecting preferred public key from SSH server")
-		host := u.Host
-		if u.Port() == "" {
-			host = host + ":22"
-		}
-		hostKey, err := scanHostKey(ctx, host)
+		hostKey, err := scanHostKey(ctx, u)
 		if err != nil {
 			return err
 		}
@@ -269,7 +265,11 @@ func generateKeyPair(ctx context.Context) (*ssh.KeyPair, error) {
 	return pair, nil
 }
 
-func scanHostKey(ctx context.Context, host string) ([]byte, error) {
+func scanHostKey(ctx context.Context, url *url.URL) ([]byte, error) {
+	host := url.Host
+	if url.Port() == "" {
+		host = host + ":22"
+	}
 	hostKey, err := ssh.ScanHostKey(host, 30*time.Second)
 	if err != nil {
 		return nil, fmt.Errorf("SSH key scan for host '%s' failed: %w", host, err)