Skip to content

noelmartinon/debian-server-tools

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Debian server tools

You find all my knowledge in GitHub repositories in form of Bash and PHP scripts and Markdown documents. Updated as I work daily.

⚠️ This readme does not represent the contents of this repository. Please browse all folders.

How to Set Up Your Desk

World's fastest cloud servers

Install Debian on UpCloud

How to choose VPS provider?

See https://github.com/szepeviktor/wordpress-speedtest/blob/master/README.md#how-to-choose-vps-provider

Model of how systems work

Richard Cook at Velocity NY 2013

Directories

  • /debian-setup - Debian installation scripts including debian-setup.sh
  • /backup - Tools related to archiving
  • /image - Tools related to image optimization
  • /input - Tools related to the terminal
  • /mail - Tools related to email account management
  • /monitoring - Tools related to server monitoring, alert and statistics emails
  • /mysql - Tools related to database management
  • /package - Tools related to Debian packages and general packaging
  • /security - Security and SSL certificate related tools
  • /tools - Various small tools
  • /virtualization - Docker containers
  • /webserver - Tools related to building webservers

Debian install with UTC as timezone

Select Expert install.

Script development

Install your own SSH key

S="${HOME}/.ssh";mkdir --mode 0700 "$S";editor "${S}/authorized_keys"
ssh-keygen -v -l -f "${S}/authorized_keys"

authorized_keys parameters:

# restrict == no-port-forwarding,no-agent-forwarding,no-X11-forwarding,no-pty,no-user-rc
restrict,command="echo 'Please login as the user \"debian\" rather than the user \"root\".';echo;sleep 10" ssh-rsa AAAA...

Install a user's SSH key

u bash -c 'S="${HOME}/.ssh";mkdir --mode 0700 "$S";editor "${S}/authorized_keys"'
U="$(stat -c %U .)";S="$(getent passwd $U|cut -d: -f6)/.ssh";mkdir -m 0700 "$S";editor "${S}/authorized_keys";chown -R $U:$U "$S"

Retrieve public key from private key

ssh-keygen -y -f ~/.ssh/id_ecdsa

List sshd host keys

ls /etc/ssh/ssh_host_*_key.pub | xargs -n 1 ssh-keygen -l -f

Record terminal session

script --timing=NAME.time --append NAME.script
scriptreplay --maxdelay 1 NAME.time NAME.script

Fast and safe transit of scripts (or any data) via copy&paste

Use magic-wormhole

Pack
cat $SCRIPT|xz -9|base64 -w $((COLUMNS-1))
# alias: cat $SCRIPT | transit
Unpack
cat $PASTED_FILE|base64 -d|xz -d > $SCRIPT
# alias: cat $PASTED_FILE | transit-receive

Moving away git-dir

git init --separate-git-dir=/home/user/gitdir

Produces:

/home/user/work-dir/.git: gitdir: /home/user/git

/home/user/gitdir/config: worktree = /home/user/work-dir

Rescan the SCSI Bus to Add SCSI Devices

echo "- - -" > /sys/class/scsi_host/host0/scan

Flush Google public DNS cache

https://google-public-dns.appspot.com/cache

Free CDN for GitHub

https://staticaly.com/ https://cdn.staticaly.com/gh/USER/REPO/TAG/FILE

Whois servers

ROA validation, RPKI status

whois -h whois.bgpmon.net 84.2.228.0

UNICODE owl domain name

﴾͡๏̯͡๏﴿.tk

Crontab format

.---------------- minute (0 - 59)
| .-------------- hour (0 - 23)
| |  .----------- day of month (1 - 31)
| |  | .--------- month (1 - 12)
| |  | | .------- day of week (0 - 6)
| |  | | |
* *  * * *  USER  COMMAND
crontab -e -u USER
.---------------- minute (0 - 59)
| .-------------- hour (0 - 23)
| |  .----------- day of month (1 - 31)
| |  | .--------- month (1 - 12)
| |  | | .------- day of week (0 - 6)
| |  | | |
* *  * * *  COMMAND

Looking for a dedicated team member running your application or website?

Contact me: viktor@szepe.net

Packages

No packages published

Languages

  • Shell 58.8%
  • PHP 14.2%
  • C 12.9%
  • Python 5.4%
  • Perl 3.7%
  • C++ 2.5%
  • Other 2.5%