Hallo Leute,
ich habe ein Problem mit meinem Bash Script.
Das Script soll einen User eine IP Adresse aus einer Liste auswählen lassen und eine SSH Session starten.
Das funktioniert auch soweit jedoch möchte ich das die SSH Session nicht dargestellt wird sondern er aus einem Menü meines Scripts darauf Software installieren soll
Also z.b so:
echo "SSH Connection established !"
echo "Installing Software 1"
echo "Software 1 installed !"
echo "Installing Software 2"
echo "Software 2 installed !"
echo " Finished Closing SSH Connection..."
Es muss auch nicht unbedingt ein Menü sein hauptsache er installiert die Software die ich vorher im Script definiert habe.
Danke im Vorraus
LG
Bash Script Custom SSH Login
Re: Bash Script Custom SSH Login
Du musst ihm einfach als Shell nicht /bin/bash sondern /usr/local/bin/script in /etc/passwd geben. Also eine Art Restriced Shell.
/usr/local/bin/shell:
nicht vergessen. Natürlich das Beispiel anpassen
Das Lesen einer Eingabe (read) am Ende ist wichtig, da mit dem Beenden des Programms auch die SSH-Sitzung abgebrochen wird.
/usr/local/bin/shell:
Code: Alles auswählen
#!/bin/bash
read -p "1+1 ist: "
echo "Deine Eingabe war:" $REPLY
read -p "Taste zum Beenden"
Code: Alles auswählen
chmod 755 /usr/local/bin/shell
Das Lesen einer Eingabe (read) am Ende ist wichtig, da mit dem Beenden des Programms auch die SSH-Sitzung abgebrochen wird.
Re: Bash Script Custom SSH Login
Hallo,
erstmal danke für die Antwort !
Das mit dem vergeben der Shell habe ich noch nicht so ganz verstanden muss ich die /etc/passwd auf dem Server verändern oder auf dem Client Rechner.
Das Problem ist das wenn ich diese auf dem Server ändern muss es nicht klappen wird weil das Script sozusagen auf einen frischen Server connected auf dem vorher noch niemand drauf war.
Also wäre es nicht möglich die SSH Session in den Background zu schieben und das Script sozusagen drüber zu packen ?
erstmal danke für die Antwort !
Das mit dem vergeben der Shell habe ich noch nicht so ganz verstanden muss ich die /etc/passwd auf dem Server verändern oder auf dem Client Rechner.
Das Problem ist das wenn ich diese auf dem Server ändern muss es nicht klappen wird weil das Script sozusagen auf einen frischen Server connected auf dem vorher noch niemand drauf war.
Also wäre es nicht möglich die SSH Session in den Background zu schieben und das Script sozusagen drüber zu packen ?
Re: Bash Script Custom SSH Login
Die Anpassung der Shell wäre natürlich beim Zielsystemmuss ich die /etc/passwd auf dem Server verändern oder auf dem Client Rechner.
Naja. Du könntest natürlich auch Remote ein Script aufrufen, welches dort natürlich rumliegen muss:
Code: Alles auswählen
ssh user@server /usr/local/bin/shell