diff --git a/install.sh b/install.sh index b327538..ecadb9e 100644 --- a/install.sh +++ b/install.sh @@ -4,6 +4,27 @@ print_ylw(){ echo -e "\033[33m$1\033[0m" } +function is_x64 { + print_ylw "[ determine architecture ]" + arch=$(lscpu | grep -i architecture | cut -d ":" -f2) + if [ $arch != "x86_64" ]; then + false + else + true + fi +} + +function choose_packages { + if is_x64 ; then + print_ylw "[ with docker ]" + packages="curl git nmap tcpdump net-tools wireguard tmux mc docker docker-compose" + else + print "[ without docker ]" + packages="curl git nmap tcpdump net-tools wireguard tmux" + fi +} + +function disable_ipv6 { print_ylw "[ ipv6 turn off ]" cat << EOF >> /etc/sysctl.conf net.ipv6.conf.all.disable_ipv6=1 @@ -11,10 +32,14 @@ net.ipv6.conf.default.disable_ipv6=1 net.ipv4.ip_forward=1 EOF sysctl -p +} +function sshd_cfg_bup { print_ylw "[ sshd_config backup ]" cat /etc/ssh/sshd_config > /etc/ssh/sshd_config_BUP && +} +function sshd_config { print_ylw "[ configuring sshd ]" cat << EOF > /etc/ssh/sshd_config @@ -32,16 +57,31 @@ PrintMotd no AcceptEnv LANG LC_* Subsystem sftp /usr/lib/openssh/sftp-server EOF +} -print_ylw "[ appending ssh-keys ]" -echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDAPCabE6gKZkksoYdCCclvqBwPLMHM7Wasi3OtzgYmfyJzCPy2twMBZ35HbmuXd0oUE6IBScosGwgs3+5EQ/21b5BUosdZy82DDGG8vXwY2oxqd0U3GzebLmks8TRvdnZ2KXyMlbM9tB5lxrT8kaCdNWtj3Zbipjj2U6LDfvl9J5qojW4F7sNuh3qQ5T7FJA0R/X3F2K3VVk+ZD0PXy1pIauXck3K7iHtTjjHmBw73Ym0d+cg8MEOY7Y+tU4s8f2dOHN9VOSFONoYw0tOxUzZwYGNplEj3xDFUTsbm5wpWd6rGF9ilAqAnwB5Uwbq39ThikKi72PwIFr1e4QIf1AIOdci+yfrezZ/CwHw3AgaCY1PMbX50EZfa3Y9YhZH4bT7mVMCOVkOtIURiHEdcGeqjCe73eizTvDPE+0/xLPqIkJLI9Q4EeJESzRDNUkGiL6/L7Yi38pY+TqRz2dpyvuN9CHAmNPc9kmU9sdOOfAvSv7wGzTG3zB5NCU7UlWW3wPRYLTvYbRXHDROF8OlFjhLYGG6AYdJbNXTfQFHymKOJRjWiVaeBKMlAmhosdlEyRN1zYBb0bHdptEWpsqjv6mPQ3W20pS1h4zRT2P71TsA7UPlHTAeLgUuv9NW49VpdoKBId8cfJOmLesft1bGHfjgg8UNTbCpnOi0lRjoT4vxBPQ==" >> ~/.ssh/authorized_keys -echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAEAQDMT0hLA/p00VWu98mPQg0aSe/9FbP/wCyg2YGGHEffFPs8zmfJAa6xIAFM3mIc2FhcNPOrAdbA/YpqxrA/3kf7G2JmaDSlRxlUeWXHvXkEVFvfEV2ItKp3sK4pj1kfw2b8K1Ymz5Q25ko51Z9crfBy5Y8Vsz9mjVjzh8t+gfhDevzz6rUiOOzViQIclrbqSHMBWkL2WRTOL8nw5CGz0JgYgdrgX1rLEMYMr6WGV+qRxiIgLc3U6odnJ/m3szU7KNL9+rkreJvcukLIJtRunJAdIc+ann4gJFXDgjr/s0+wh3xL3HQAhOJflgw7FOTSh3MEerMC72d6DS01wJc6QY291cTPCqHBFrtAFBcupoHQCLgcTmYVB3BKjGnKHCXtOQRjYvS5Oe+bQQccv3csxIn2xlz0yVBwC+10fzjDixiRwJyQ75hcz9KEyur52Dc9hIC6tJ9CSFN9IMDoFXBeav41S2gGyjMxtuxxcbY5YlsGT+XeTpArue+MPyovyng+XXO8GSCyOxymHXivqCqx1mHOiL976gMZ/m09FoEWyd8cLLn56HcQlURs04htn9ghYKGZOjBnoyCfY5CRLFE/O+Nmbl37roRKZvqNJjx2+FTbHZ8qos+JEZBW+nEg4gp85LnygSdFyNPfkVPVccI4HLwdm1FVR+O8kN5Q7zrOllOPoj1rsPnavjtCd6UXOG5wlLsliHDHPmJwkEvBaxcEh3N6l4cZeD7teMlfE4XDxKTRXRZd7IVHGrGIP+dqd+RKVezObz8IqBTCoDwBkXqZudLdlXULRsaEuYo+HaGjBug0dQRYbFTllj52ypnjfeiWRP6yvvlcLHT3GpDbbW8kzMXlwYmlyQQbgQf/Z4cU10PHqJbGOlQlEgN7gUsAI+Isl9UaEx5haDnXapbM4PFxGzhtjZ+YuIMYC8b19oXjKm0oLZhwN3S/vB54pPnmb3OQH+vc6pMZPeHX6G3sH9vwVe1qYlBspV5ICVrpV27j4f7cnCH7MJpcanw3VHqcSn0gC30EQBbi+iCOyMJZy2x0P2FZ8W5dvIarewoUu/dTkQ+hGea5Cs4wSW53YhEK0rEKr8HYRXhmrEtnf4B8MhJ5DGBzHueKOYAM5BdwXp7GU4xPGWq5g0kTCSqGOQJWVDOdYyqsdhNned2rg+HybVDyb+XaF8j3aa48qN02I2bhbOr0iJEfBJzjVPcsB61M/VQ3xbt6+AET5wqAbZu1pVH+Dion4YyYjWy1DX802h2WNDvOzRwC82qeOUbZf3CTolBeKucdnLx5o8w9wsjxK80ArxRFx472Q45QkE61NLgcSfBHy+JywOxdP/fc0bwI/sFtAqEX5LCEkgqtB8r1w9bzCeeH u0_a294@poco" +function add_authorized_keys { + print_ylw "[ appending ssh-keys ]" + echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDAPCabE6gKZkksoYdCCclvqBwPLMHM7Wasi3OtzgYmfyJzCPy2twMBZ35HbmuXd0oUE6IBScosGwgs3+5EQ/21b5BUosdZy82DDGG8vXwY2oxqd0U3GzebLmks8TRvdnZ2KXyMlbM9tB5lxrT8kaCdNWtj3Zbipjj2U6LDfvl9J5qojW4F7sNuh3qQ5T7FJA0R/X3F2K3VVk+ZD0PXy1pIauXck3K7iHtTjjHmBw73Ym0d+cg8MEOY7Y+tU4s8f2dOHN9VOSFONoYw0tOxUzZwYGNplEj3xDFUTsbm5wpWd6rGF9ilAqAnwB5Uwbq39ThikKi72PwIFr1e4QIf1AIOdci+yfrezZ/CwHw3AgaCY1PMbX50EZfa3Y9YhZH4bT7mVMCOVkOtIURiHEdcGeqjCe73eizTvDPE+0/xLPqIkJLI9Q4EeJESzRDNUkGiL6/L7Yi38pY+TqRz2dpyvuN9CHAmNPc9kmU9sdOOfAvSv7wGzTG3zB5NCU7UlWW3wPRYLTvYbRXHDROF8OlFjhLYGG6AYdJbNXTfQFHymKOJRjWiVaeBKMlAmhosdlEyRN1zYBb0bHdptEWpsqjv6mPQ3W20pS1h4zRT2P71TsA7UPlHTAeLgUuv9NW49VpdoKBId8cfJOmLesft1bGHfjgg8UNTbCpnOi0lRjoT4vxBPQ==" >> ~/.ssh/authorized_keys + echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAEAQDMT0hLA/p00VWu98mPQg0aSe/9FbP/wCyg2YGGHEffFPs8zmfJAa6xIAFM3mIc2FhcNPOrAdbA/YpqxrA/3kf7G2JmaDSlRxlUeWXHvXkEVFvfEV2ItKp3sK4pj1kfw2b8K1Ymz5Q25ko51Z9crfBy5Y8Vsz9mjVjzh8t+gfhDevzz6rUiOOzViQIclrbqSHMBWkL2WRTOL8nw5CGz0JgYgdrgX1rLEMYMr6WGV+qRxiIgLc3U6odnJ/m3szU7KNL9+rkreJvcukLIJtRunJAdIc+ann4gJFXDgjr/s0+wh3xL3HQAhOJflgw7FOTSh3MEerMC72d6DS01wJc6QY291cTPCqHBFrtAFBcupoHQCLgcTmYVB3BKjGnKHCXtOQRjYvS5Oe+bQQccv3csxIn2xlz0yVBwC+10fzjDixiRwJyQ75hcz9KEyur52Dc9hIC6tJ9CSFN9IMDoFXBeav41S2gGyjMxtuxxcbY5YlsGT+XeTpArue+MPyovyng+XXO8GSCyOxymHXivqCqx1mHOiL976gMZ/m09FoEWyd8cLLn56HcQlURs04htn9ghYKGZOjBnoyCfY5CRLFE/O+Nmbl37roRKZvqNJjx2+FTbHZ8qos+JEZBW+nEg4gp85LnygSdFyNPfkVPVccI4HLwdm1FVR+O8kN5Q7zrOllOPoj1rsPnavjtCd6UXOG5wlLsliHDHPmJwkEvBaxcEh3N6l4cZeD7teMlfE4XDxKTRXRZd7IVHGrGIP+dqd+RKVezObz8IqBTCoDwBkXqZudLdlXULRsaEuYo+HaGjBug0dQRYbFTllj52ypnjfeiWRP6yvvlcLHT3GpDbbW8kzMXlwYmlyQQbgQf/Z4cU10PHqJbGOlQlEgN7gUsAI+Isl9UaEx5haDnXapbM4PFxGzhtjZ+YuIMYC8b19oXjKm0oLZhwN3S/vB54pPnmb3OQH+vc6pMZPeHX6G3sH9vwVe1qYlBspV5ICVrpV27j4f7cnCH7MJpcanw3VHqcSn0gC30EQBbi+iCOyMJZy2x0P2FZ8W5dvIarewoUu/dTkQ+hGea5Cs4wSW53YhEK0rEKr8HYRXhmrEtnf4B8MhJ5DGBzHueKOYAM5BdwXp7GU4xPGWq5g0kTCSqGOQJWVDOdYyqsdhNned2rg+HybVDyb+XaF8j3aa48qN02I2bhbOr0iJEfBJzjVPcsB61M/VQ3xbt6+AET5wqAbZu1pVH+Dion4YyYjWy1DX802h2WNDvOzRwC82qeOUbZf3CTolBeKucdnLx5o8w9wsjxK80ArxRFx472Q45QkE61NLgcSfBHy+JywOxdP/fc0bwI/sFtAqEX5LCEkgqtB8r1w9bzCeeH u0_a294@poco" +} -print_ylw "[ restart sshd ]" -systemctl restart sshd +function restart_sshd { + print_ylw "[ restart sshd ]" + systemctl restart sshd +} -packages="curl git nmap tcpdump net-tools wireguard tmux mc docker docker-compose" -print_ylw "[ packages installation: $packages ]" -apt install $packages +function install_packages { + print_ylw "[ packages installation: $packages ]" + apt install $packages +} + + +disable_ipv6 +sshd_cfg_bup +sshd_config +add_authorized_keys +restart_sshd +choose_packages +install_packages print_ylw "[ DONE ]"