I have my bashrc file set up to my liking.I usually work on a hardware that is plugged into a remote server.I ssh into that remote server.I would like my .bashrc to be run when I ssh into the remote server,instead of the bashrc on the server.Is there anyway by which I can accomplish this.?
3 Answers
AFAIK, there is no way to do that.
Maybe you should copy your ~/.bashrc to a server and install a configuration management tool (Puppet, Chef, ...) on all the other servers to pull it.
- 52,423
I think sshrc is what you're looking for: https://github.com/taylorskalyo/sshrc
sshrc works just like ssh, but it also sources ~/.sshrc after logging in remotely.
$ echo "echo welcome" > ~/.sshrc
$ sshrc me@myserver
welcome
$ echo "alias ..='cd ..'" > ~/.sshrc
$ sshrc me@myserver
$ type ..
.. is aliased to `cd ..'
You can use this to set environment variables, define functions, and run post-login commands. It's that simple, and it won't impact other users on the server - even if they use sshrc too. For more advanced configuration, continue reading.
- 2,115
- 287
I think that https://github.com/fsquillace/pearl-ssh does what you need.
I wrote it long time ago before sshrc was born and it has more benefits compared to sshrc:
- It does not require dependencies on xxd for both hosts (which can be unavailable on remote host)
- Pearl-ssh uses a more efficient encoding algorithm
- It is just ~20 lines of code (really easy to understand!)
For instance:
$> echo "alias q=exit" > ~/.config/pearl/sshrc
$> ssh_pearl myuser@myserver.com
myserver.com $> q
exit
- 111