Put your servers in ~/.ssh/config:
Host web
HostName web.example.com
User deploy
Port 2222
IdentityFile ~/.ssh/id_ed25519_work
Host *
AddKeysToAgent yes
ServerAliveInterval 60
Now this is all you need:
ssh web
The alias works with scp, rsync and git too, since they all go through ssh. The Host * block at the end sets defaults for everything.