Updated: 28 September 2026 · Applies to: AlmaLinux 9, Rocky Linux 9, Ubuntu 24.04 and Debian 12
Bash aliases are defined for interactive shells, so ssh server myalias fails: the remote command runs in a non-interactive shell that does not load them.
Options
- Run an interactive shell for the command:
ssh -t server 'bash -ic myalias'. - Better: turn the alias into a small script in
~/bin/(make it executable and add~/binto PATH), which works in any shell. - Or define a function in
~/.bashrcand callssh server 'bash -ic myfunction'.