Please don't use the Jenkins issue tracker to request help with configuration issues that are specific to your environment. There are very few people that read Jenkins issues for the git plugin and they tend to be the same people that maintain the git plugin or other components.
Please share the information in the Jenkins user mailing list or in the Jenkins gitter chat channel and allow other users to assist you. There are many, many more users than there are plugin maintainers.
In this specific case, you are mixing two different types of credentials. The checkout command is referring to a git repository with the ssh protocol email@example.com:owner/repo.git but the credential you've created ("Username with password") is only used for http and https protocol repositories. You need to create a private key credential and use that private key credential in the checkout statement.
The checkout probably works on the controller ("master") because of a "happy accident" that you need to investigate. The account that is running the controller probably has an ssh private key available that allows it access to that repository. I prefer to not have private keys installed in the user account of the controller because then any job running on the controller can use the credentials from that user account.