shell-scripte-code/shellinabox_sshwrapper.sh
2016-12-15 14:37:59 +01:00

67 lines
1.2 KiB
Bash
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/bash
 
#
# get host
#
 
read -p "SSH remote host (hostname or ip address): " host;
 
if [ -z "$host" ]; then
    echo ""
    echo ""
    echo "A hostname or ip address of the remote host is required."
    echo ""
    echo ""
    exit
fi
 
if [ "$host" == "localhost" ] || [[ "$host" = "127."*  ]] || [[ "$host" = "0.0.0.0"  ]] || [[ "$host" = "10."*  ]] || [[ "$host" = "192.168."*  ]]; then
    echo ""
    echo ""
    echo "Connections to internal network devices are not supported."
    echo ""
    echo ""
    exit
fi
 
#
# get port
#
 
read -p "SSH remote port [22]: " port;
 
if [ -z "$port" ]; then
    port=22;
fi
 
if [[ -n ${port//[0-9]/} ]]; then
    echo ""
    echo ""
    echo "Port must be a number between 0 and 65535."
    echo ""
    echo ""
    exit
fi
 
#
# get username
#
 
read -p "SSH remote username: " username;
 
if [ -z "$username" ]; then
    echo ""
    echo ""
    echo "A username of the remote host is required."
    echo ""
    echo ""
    exit
fi
 
#
# execute ssh command
#
 
echo ""
echo ""
exec ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -p $port $username@$host;