I'm currently setting up a fairly complex bash configuration which shall be used on multiple machines. I try to find out if it is possible to determine whether I'm logged in via SSH or on a local machine. This way I could, for instance, set some aliases depending on that fact. Like aliasing halt
to restart
since stopping a remote server might not be the best thing to do.
What I know so far is, that the environment variable SSH_CLIENT
is set when I logged in via ssh. Unfortunately, this variable is discarded when I start a super user shell with sudo -s
. I also know that I can pass a parameter to sudo that instructs sudo to copy all my environment variables to the new shell environment, but if I don't want to do this, is there an other way?
Best Answer
You could use "w" or "who" command output. When you connect over ssh, they'll show your source IP.