upvote
I'll fix that soon. I really wanted to avoid calling the git binary for security reason, but I have to admit that go-git is not robust enough in some cases. I'll have at least the option to use the git binary for push/pull, possibly as a default depending on how it goes.
reply
Isn't "show stopper" a bit dramatic? What is the big problem with an SSH agent? If security is a problem you should probably store your SSH keys on a HSM like a Nitrokey or Yubikey. In which case you need an agent.
reply
The agent requirement is a symptom of a deeper potential issue: not using the system's ssh. Providing built-in as a fast-path option is fine, but ~/.ssh/config can do a lot of useful things, and providing an easy option to say "just use real ssh" lets people have their config just work.

Specifying identify files for specific hosts, using bastion hosts (ProxyJump), etc. For example, my laptop SSH config detects when I'm not on my university network or VPN and adds a ProxyJump through the department bastion host, but connects directly when I'm on the network. Configurations like that break when software makes too many assumptions about how ssh is configured.

reply
oh wow, how can your ssh config change based on the network you're using?
reply
ssh_config allows several ways to execute arbitrary shell commands, such as "Match exec" and "ProxyCommand". Specify a program that can detect networks and choose different connections. Then the config file itself wouldn't change.
reply
deleted
reply
hi - this is incorrect

I use a Yubikey for some of my keys, and I've never used an "agent", don't know how, and don't want to start, unless someone can give me a good reason to

ssh-keygen -t ed25519-sk

that's all you need to use a Yubikey with SSH

reply
you don't need an agent for hsm.

also, don't know a good security researcher who uses agents (some even use ssh config to limit which keys are even tried per domain)

ssh config hacks are also a must if you have, say, two or more identities to github.com for example.

reply