Skip to content

Instantly share code, notes, and snippets.

@parasquid
Last active January 19, 2024 12:03
Show Gist options
  • Save parasquid/6520133 to your computer and use it in GitHub Desktop.
Save parasquid/6520133 to your computer and use it in GitHub Desktop.
Linode Server Setup Script
# security measures:
# - change ssh port to 20022
sed -i 's/#Port 22/Port 20022/' /etc/ssh/sshd_config
# - disallow root login
sed -i 's/PermitRootLogin yes/PermitRootLogin no/' /etc/ssh/sshd_config
# - disallow password auth
cat >> /etc/ssh/sshd_config << EOF
PasswordAuthentication no
AllowUsers deploy
EOF
echo "deploy:deploy:1000:1000::/home/deploy:/bin/bash" | newusers
cp -a /etc/skel/.[a-z]* /home/deploy/
chown -R deploy:www-data /home/deploy/
# some funky permissions stuff
# Add to sudoers(?)
echo "deploy ALL=NOPASSWD: ALL" >> /etc/sudoers
mkdir /home/deploy/.ssh
chmod -R 600 /home/deploy/.ssh/
touch /home/deploy/.ssh/authorized_keys
cat > /home/deploy/.ssh/authorized_keys << EOF
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAooCc65MqkbhEjw+ZZcOibVqLaxWxubFUwy+nqGxXX1irZHsvh1iDp0Lqq4Tik3uzHg54X1GnOkOu2LxaSZW2zlT7oi5qaor84kvJmb3LcCqoSqKmWuK0x77fSi0jdJW4v7vfwg5Qeb3TKlRdwO9i3/N+qTyw+lk2OINYkxcJf+XfeAsMsHjbvNMPe2gbdZmuN6tOXIuP16X0XLfWHrYtZSMWhgw3+eIX8rIk04qsZUEh0aI9pBnpPpP5pOh/sT6NiFO5YWr4S6OkTCfk/ZGXtU29L2QTTTaW8I6CPu/2Pc70JVheHdf8boMk+NNceUt6+3WEHZASspyX2b4oddRL5Q==
EOF
/etc/init.d/ssh restart
chown -R deploy /home/deploy/
chmod 700 /home/deploy/.ssh
chmod 600 /home/deploy/.ssh/authorized_keys
@parasquid
Copy link
Author

bump

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment