• Es freut uns dass du in unser Minecraft Forum gefunden hast. Hier kannst du mit über 130.000 Minecraft Fans über Minecraft diskutieren, Fragen stellen und anderen helfen. In diesem Minecraft Forum kannst du auch nach Teammitgliedern, Administratoren, Moderatoren , Supporter oder Sponsoren suchen. Gerne kannst du im Offtopic Bereich unseres Minecraft Forums auch über nicht Minecraft spezifische Themen reden. Wir hoffen dir gefällt es in unserem Minecraft Forum!

Warum einfach ... [SSH-verbindung]

C

C64

Guest
... wenn es auch kompliziert geht?

Ich hatte einige Minuten Langeweile, und dachte, ich schreibe ein aufgebauschtes Loginscript für den SSH-Dienst, der mit einem Portknocker gesichert ist. Ziel war, es einfach konfigurierbar zu halten

Das Ergebniss:

Code:
#!/bin/bash

##############################
## config

	host=sub.domain.tld					# your (sub)domain or IP adress
	sequ=("0000" "0000" "0000" "0000" "0000" "0000")	# your knockd sequences, length variable (only "0000" "0000" etc.)
	hostname=Hostname					# your hostname (to differentiate)
	port=12345						# your SSH-Port


##############################
## retrieve username

	function retruser()
		{
			echo -e "\033[1;4;36mYour Username for $hostname?\033[0m"
			read user
			if [ $user == "root" ]			# only effective if root-access prohibited SERVERSIDE!
				then
					echo -e "\033[1;5;41mROOT-ACCESS DENIED!\033[0m" 
					sleep 5
					exit
				fi
			echo
			echo -e "\033[1;33mConnecting to $hostname with user $user\033[0m"
		}


##############################
## exist host?

	function host_alive()
		{
			ping -c 1 -q $host
			if [ $? == 0 ]
				then
					echo -e "\033[1;32m$hostname is online\033[0m"
				else
					echo -e "\033[1;31m$hostname is offline\033[0m"
					exit
				fi
			sleep 3
		}


##############################
## port opening

	function knocking()
		{
			echo -e "\033[1;33mOpening port $port for Secure-Shell-Connection ...\033[0m"
			for ((i0;i<${#sequ[*]}; i++)); 
				do
					sequnum=$(expr $i + 1)
					echo -e "\033[33mSending unlock-sequence $sequnum / ${#sequ[*]}\033[0m"
					knock $host ${sequ[$i]}
					sleep 1
				done
		}

##############################
## logon

	function logon()
		{
			echo -e "\033[1;33mConnect the SSH-Services\033[0m"
			ssh $host -p $port -l $user
			sleep 3
		}

##############################
## mainprocedure

	clear
	echo -e "\033[1;36m================================"
	echo "LachCraft.de's Host-Login-Script"
	echo -e "================================\033[0m"
	echo
	echo
	retruser
	echo
	host_alive
	echo
	knocking
	echo
	logon
	echo -e "\033[1;36m================================"
	echo "Script exit, have a nice day!"
	echo -e "================================\033[0m"
	echo
	echo

Verwendung auf eigene Gefahr, bla bla usw.
 
Zuletzt bearbeitet von einem Moderator:
Oben