Inhaltsverzeichnis

Nützliche Skripte oder kleine Helfer

SSH login -> IP-Adressen anzeigen

Um nach dem Login die auf dem System verfügbaren IP Adressen anzeigen zu lassen muss man, je nach Distribution, eine der Dateien editieren

~/.bashrc ~/.bash_profile ~/.profile

nano ~/.bashrc

Einfügen:

echo "----- IP-Adressen dieses Servers -----"
ip -o -4 addr show | awk '{print "IPv4:", $2, $4}'
ip -o -6 addr show | awk '{print "IPv6:", $2, $4}'
echo "--------------------------------------"

Für proxmox LXC container

Du möchtest das für jeden LXC Container haben? ACHTUNG! In dieser Variante werden die Adressen für JEDEN Benutzer gezeigt, der sich auf der Shell anmeldet.


Das geht so:

#!/bin/bash

read -r -d '' IPINFO_SCRIPT <<'EOF'
#!/bin/bash

# Farben definieren
RED='\033[0;31m'
GREEN='\033[0;32m'
CYAN='\033[1;36m'
NC='\033[0m' # No Color

echo -e "${CYAN}----- IP-Adressen dieses Servers -----${NC}"
ip -o -4 addr show | awk -v green="$GREEN" -v nc="$NC" '{print green "IPv4:" nc, $2, $4}'
ip -o -6 addr show | awk -v red="$RED" -v nc="$NC" '{print red "IPv6:" nc, $2, $4}'
echo -e "${CYAN}--------------------------------------${NC}"
EOF

for CTID in $(pct list | awk '$2=="running" {print $1}'); do
    echo "Bearbeite laufenden Container $CTID ..."

    TARGET_FILE="/etc/profile.d/ipinfo.sh"

    echo "$IPINFO_SCRIPT" | pct exec $CTID -- tee $TARGET_FILE>/dev/null

    pct exec $CTID -- chmod +x $TARGET_FILE

    echo "  Datei $TARGET_FILE angelegt und ausführbar gemacht."
done

echo "Fertig."

Als Skript anlegen, ausführbar machen und ausführen. (auf jedem Proxmox Server einzeln)

Die Ausgabe nach dem Login sieht dann etwa so aus:

—– IP-Adressen dieses Servers —–
IPv4: lo 127.0.0.1/8
IPv4: eth0 192.168.178.15/24
IPv4: docker0 172.17.0.1/16

IPv6: lo ::1/128
IPv6: eth0 abcd::1234:efab:5678:cdef/xx

————————————–