aboutsummaryrefslogtreecommitdiff
path: root/dotfiles/scripts/ssh.sh
blob: 711649066d926f84f630b3ecc237ae2a6d41220f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#!/bin/sh

#By default the sshd listen only for local connection.

if [[ $1 == "disable" ]]; then
    if [[ $(cat /etc/ssh/sshd_config | grep -e "^ListenAddress") == "" ]]; then
        sudo sed -i -e 's/#ListenAddress ::/#ListenAddress ::\nListenAddress 127.0.0.1/g' /etc/ssh/sshd_config
        sudo systemctl restart sshd.service
    fi
    echo "sshd listen now only for local address 127.0.0.1."
elif [[ $1 == "enable" ]]; then
    sudo sed -i -e '/ListenAddress 127.0.0.1/d' /etc/ssh/sshd_config 
    sudo systemctl restart sshd.service
    echo "sshd listen now for all address."
elif [[ $1 == "status" ]]; then
    echo $(sudo systemctl status sshd.service)
    echo "sshd conf say:"
    echo $(cat /etc/ssh/sshd_config | grep -e "^ListenAddress")
elif [[ $1 == "start" || $1 == "stop" || $1 == "restart" ]]; then
    sudo systemctl $1 sshd.service
fi

sudo -k