diff --git a/cmd/flux/bootstrap_git.go b/cmd/flux/bootstrap_git.go
index cd01bc08bf1370bce26a947e9fee1a7a6b70cc96..0774d1d9784a4a7757f4c036d2f45b2645ad12b0 100644
--- a/cmd/flux/bootstrap_git.go
+++ b/cmd/flux/bootstrap_git.go
@@ -156,15 +156,26 @@ func bootstrapGitCmdRun(cmd *cobra.Command, args []string) error {
 		if bootstrapArgs.caFile != "" {
 			secretOpts.CAFilePath = bootstrapArgs.caFile
 		}
+
+		// Configure repository URL to match auth config for sync.
+		repositoryURL.User = nil
+		repositoryURL.Scheme = "https"
+		repositoryURL.Host = repositoryURL.Hostname()
 	} else {
 		secretOpts.PrivateKeyAlgorithm = sourcesecret.PrivateKeyAlgorithm(bootstrapArgs.keyAlgorithm)
 		secretOpts.RSAKeyBits = int(bootstrapArgs.keyRSABits)
 		secretOpts.ECDSACurve = bootstrapArgs.keyECDSACurve.Curve
-		secretOpts.SSHHostname = repositoryURL.Host
 
+		// Configure repository URL to match auth config for sync.
+		repositoryURL.User = url.User(gitArgs.username)
+		repositoryURL.Scheme = "ssh"
+		repositoryURL.Host = repositoryURL.Hostname()
 		if bootstrapArgs.sshHostname != "" {
-			secretOpts.SSHHostname = bootstrapArgs.sshHostname
+			repositoryURL.Host = bootstrapArgs.sshHostname
 		}
+
+		// Configure last as it depends on the config above.
+		secretOpts.SSHHostname = repositoryURL.Host
 	}
 
 	// Sync manifest config
@@ -172,7 +183,7 @@ func bootstrapGitCmdRun(cmd *cobra.Command, args []string) error {
 		Interval:          gitArgs.interval,
 		Name:              rootArgs.namespace,
 		Namespace:         rootArgs.namespace,
-		URL:               gitArgs.url,
+		URL:               repositoryURL.String(),
 		Branch:            bootstrapArgs.branch,
 		Secret:            bootstrapArgs.secretName,
 		TargetPath:        gitArgs.path.String(),