-
Notifications
You must be signed in to change notification settings - Fork 0
Provisioning
Andrei Montchik edited this page Jun 2, 2026
·
5 revisions
- Install Ubuntu.
- Update apt:
sudo apt update - Update the system kernel:
sudo apt upgradethenreboot. - Install vim:
sudo apt install vim - Terminal improvements:
- Update the configured alias for
lsin.bashrc- add the--group-directories-firstparam to thealias lsconfiguration. - Install Tilix:
sudo apt install tilix- Configure to run as login shell: Preferences -> Default -> Command -> check
Run command as login shell. - Configure the
Copy on Selectfor mouse: Preferences -> Global -> checkAutomatically copy text to clipboard when selecting. - Configure theme: Preferences -> Appearance -> Theme variant -> Dark. Also check the
Use a wide handle for splitterscheckbox.
- Update the configured alias for
- Install htop:
sudo apt install htop - Install iftop
- Install net-tools
- Install iostat
- Install curl:
sudo apt install curl
- Configure keyboard and mouse. Apple Magic Keyboard and Logitech Mx Master 3S connected via Bluetooth.
- Attach and configure additional monitor: Linux: * Scale 200%
- Install Chrome:
- Download from https://www.google.com/chrome
sudo apt install <chrome .deb file>
- Install additional fonts:
- Linux:
sudo apt install fonts-roboto fonts-cascadia-code fonts-firacode- Install Google Fonts. Needed for VSCode and Chrome.
- Download the fonts archive
unzip fonts-main.zip -d google_fonts- Copy fonts to the system fonts directory:
sudo cp fonts-main/ufl/ubuntu/*.ttf /usr/share/fonts/; sudo cp fonts-main/ufl/ubuntucondensed/*.ttf /usr/share/fonts/; sudo cp fonts-main/ufl/ubuntumono/*.ttf /usr/share/fonts/
- Update the system fonts cache:
sudo fc-cache -f -v
- MacOS: Instal FiraCode fonts: https://github.com/tonsky/FiraCode/releases
- Linux:
- rkhunter - audit rootkits: tbd
- ClamAV - the Malware/virus scanner
sudo apt install clamav sudo freshclam # Update definitions sudo clamscan -r /home # Scan recursively - Sublime:
- Download the
.debarchive from https://www.sublimetext.com/download -
cd ~/Downloads- Linux:
dpkg -i sublime-text_build-xxx.deb - MacOS: extract the archive and move
sublimein theApplicationdirectory.
- Linux:
- Add Sublime to shell .
.zshrcor.bashrc:alias subl='/opt/sublime_text/sublime_text'
- Download the
- SSH
- Generate SSH keypair:
ssh-keygen -t ed25519 -C "andrei@montchik.net"- choose the default location in the
~\.sshdirectory - keep the password empty
- choose the default location in the
- Add pubkey to GitHub account: https://github.com/settings/keys
- Restart terminal session before using the newly created and registered keypair.
- Generate SSH keypair:
- Install Git.
- Increase swap file in case if short on memory.
- Install Rust and set up Solana Dev env-t
- Install VS Code
- Update the
rootpassword. - Switch to UTC
- Complete the Common Setup steps.
- Check out the host hardware:
- CPU:
cat /proc/cpuinfo | grep "model name" | head -1 - Memory:
cat /proc/meminfo | grep "Mem" - Disks:
sudo lsblk - Network:
- Identify the network NIC:
ip a - Install the
ethtool:sudo apt install ethtool sudo ethtool <NIC> | grep Speed
- Identify the network NIC:
- CPU:
- Confirm that the system clock is synchronized:
timedatectl status. If not install ntp. - Create the
andreiuser and add it to thesudogroup - Re-login as
andrei. - Restrict user access to specific users or groups.
- Install or update SSH agent:
- Install SSH
- Update SSH:
- Check the SSH server version:
sshd -V 2>&1 | grep "OpenSSH" sudo apt install --only-upgrade openssh-serversudo systemctl restart ssh- Check the SSH server version:
sshd -V 2>&1 | grep "OpenSSH"
- Check the SSH server version:
- Disable root access:
- Create the
99-sandbox-init.conffile in the/etc/ssh/sshd_config.d/directory.
PermitRootLogin no- Restart SSH server:
sudo systemctl restart ssh. - Confirm that root cannot login.
- Create the
- Enable SSH key authentication.
- Propagate the Workstation's SSH key: run
ssh-copy-id andrei@<server ip>on Workstation. - Add the
PubkeyAuthentication yesparameter to the/etc/ssh/sshd_config.d/99-sandbox-init.conffile. - Restart SSH server:
sudo systemctl restart ssh. - Confirm that the SSH key authentication works.
- Propagate the Workstation's SSH key: run
- Configure the ufw firewall.
- Disable password authentication:
- Add the
PasswordAuthentication noparameter to the/etc/ssh/sshd_config.d/99-sandbox-init.conffile. - Restart SSH server:
sudo systemctl restart ssh.
- Add the
- Install and configure fail2ban
- Install and configure git
- Install Rust
- Install Solana CLI