A command-line tool that sources your local shell configuration files when SSHing into remote servers.
sshrc is a command-line tool that works like SSH but sources your local shell configuration files (e.g., `.bashrc`, `.vimrc`) on remote servers after login. It solves the problem of maintaining a consistent development environment across multiple servers without manually copying or editing configuration files on each server.
Developers and system administrators who frequently SSH into multiple servers and want to retain their personalized shell configurations, aliases, and environment variables remotely.
Developers choose sshrc because it simplifies remote server management by automatically applying local configurations, avoids conflicts in multi-user environments, and supports advanced setups like tmux integration without modifying server-side files.
bring your .bashrc, .vimrc, etc. with you when you ssh
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Sources your local ~/.sshrc file on remote servers, enabling custom aliases, environment variables, and functions without modifying server-side configuration files.
Uses unique temporary directories per user, ensuring configurations don't interfere with other users on the same server, even if they also use sshrc.
Copies non-shell configuration files from ~/.sshrc.d to $SSHHOME/.sshrc.d on the server, allowing programs like vim to load personalized settings via environment variables.
Supports tmux sessions by setting the SHELL environment variable, making configurations available in new tmux servers without affecting shared sessions.
Transferring files from ~/.sshrc.d can slow SSH login, and the README warns that servers may block attempts if folder contents exceed 1MB.
tmux integration requires careful setup to avoid accessing the vanilla tmux server, which could leak configurations to other users, as noted in the README.
Official apt installation is only for Ubuntu 12.04 and 14.04; other systems require manual download and PATH setup, which can be cumbersome.
Configurations are stored in /tmp directories, which may be cleaned on server reboot, losing settings and requiring re-initialization.