48 lines
		
	
	
		
			968 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			968 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/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"; }
 | |
| 
 | |
| if [ ! $# == 2 ]; then
 | |
|     echo "Usage: $0 <user> <host>"
 | |
|     exit 1;
 | |
| fi
 | |
| 
 | |
| USER=$1
 | |
| HOST=$2
 | |
| IP=`dig +short $HOST`
 | |
| 
 | |
| if [ -z "$IP" ]; then
 | |
|     IP=$HOST
 | |
| fi
 | |
| 
 | |
| grep "Host $HOST" ~/.ssh/config 2>&1 > /dev/null
 | |
| 
 | |
| if [ 0 -eq $? ]; then
 | |
|     echo $HOST is already in .ssh/config
 | |
| else
 | |
|     echo Adding server to .ssh/config...
 | |
|     cat >> ~/.ssh/config <<END_OF_HOST
 | |
| Host $HOST
 | |
|     HostName $IP
 | |
|     User     $USER
 | |
| END_OF_HOST
 | |
| 
 | |
| fi
 | |
| 
 | |
| echo Copying .ssh directory to $USER@$HOST...
 | |
| scp -qr $HOME/.ssh/ $HOST:
 | |
| 
 | |
| echo Installing dotfiles...
 | |
| ssh $HOST 'find . -maxdepth 1 -type l -exec unlink {} \;; rm $HOME/.bash*; curl -s https://dot.jacobkiers.net | bash'
 | |
| 
 | |
| echo
 | |
| green Done installing server. You will now be logged in.
 | |
| 
 | |
| ssh $HOST
 | 
