Files
dotfiles/bin/setup-server
T

67 lines
1.3 KiB
Bash
Raw Normal View History

#!/usr/bin/env bash
NORMAL=$(tput sgr0)
GREEN=$(tput setaf 2; tput bold)
YELLOW=$(tput setaf 3)
RED=$(tput setaf 1)
function red() { echo -e "$RED$*$NORMAL"; }
function green() { echo -e "$GREEN$*$NORMAL"; }
function yellow() { echo -e "$YELLOW$*$NORMAL"; }
2015-04-10 13:51:06 +00:00
if [ $# -lt 1 ]; then
echo "Usage: $0 <host|IP> [friendly-name] [user]"
echo "Example: $0 127.0.0.1 server-name $USER"
echo
echo "Afterwards you can login with: ssh server-name"
exit 1;
fi
2015-04-10 13:51:06 +00:00
HOST=$1
NAME=$2
USERNAME=$3
IP=`dig +short $HOST`
2015-04-10 13:51:06 +00:00
if [ -z "$USERNAME" ]; then
USERNAME=$USER
fi
if [ -z "$IP" ]; then
IP=$HOST
fi
2015-04-10 13:51:06 +00:00
if [ -z "$NAME" ]; then
NAME=$HOST
fi
yellow "Setting up server $USERNAME@$HOST with name '$NAME'"
grep "Host $NAME" ~/.ssh/config 2>&1 > /dev/null
2015-02-02 15:44:56 +01:00
if [ 0 -eq $? ]; then
2015-04-10 13:51:06 +00:00
echo $NAME is already in .ssh/config
2015-02-02 15:44:56 +01:00
else
echo Adding server to .ssh/config...
cat >> ~/.ssh/config <<END_OF_HOST
2015-04-10 13:51:06 +00:00
Host $NAME
HostName $IP
2015-04-10 13:51:06 +00:00
User $USERNAME
2015-02-02 15:44:56 +01:00
END_OF_HOST
fi
2015-04-10 13:51:06 +00:00
echo Copying .ssh directory...
scp -qr $HOME/.ssh/ $NAME:
echo Installing dotfiles...
2015-04-10 13:51:06 +00:00
ssh $NAME 'find . -maxdepth 1 -type l -exec unlink {} \;; rm $HOME/.bash*; curl -s https://dot.jacobkiers.net | bash'
echo
2015-04-10 13:51:06 +00:00
green "Done installing server. You can now log in with: ssh $NAME"
green "As a convenience, you will be logged in immediately."
ssh $NAME