#!/bin/bash INTERFACE=$1 ACTION=$2 INTNIC=enp10s0 if [ "$INTERFACE" = "$INTNIC" ]; then case "$ACTION" in up) IP=$(ip -4 addr show dev "$INTERFACE" 2>/dev/null | grep -oP '(?<=inet\s)\d+(\.\d+){3}') if [ -n "$IP" ]; then sed -i -E "s/^#?ListenAddress [0-9]+\.[0-9]+\.[0-9]+\.[0-9]+/ListenAddress $IP/" /etc/ssh/sshd_config systemctl restart sshd fi ;; down) systemctl stop sshd sed -i -E "s/^#?ListenAddress [0-9]+\.[0-9]+\.[0-9]+\.[0-9]+/ListenAddress 127.0.0.1/" /etc/ssh/sshd_config ;; esac fi