Repo Browser

bashcards/bashcards-kali
Card bundle: cards/786019511335--king-of-carcosa-ssh

Front / Back (click to flip)

front
back
Click card to view front/back

Raw Script

#!/usr/bin/env bash
Y='\033[33m';Z='\033[0m';exec </dev/tty >/dev/tty 2>&1
pause(){ read -r _;}
hdr(){ clear;echo -e "${Y}KING OF CARCOSA – SSH${Z}\n$1";}
main(){ while :;do hdr "Main Menu"
  echo -e "${Y}1) Client: SSH client tools${Z}"
  echo -e "${Y}2) Server: SSH service controls${Z}"
  echo -e "${Y}3) Tunnels: Port/SOCKS helpers${Z}"
  echo -e "${Y}4) System: Host & SSH info${Z}"
  echo -e "${Y}5) Exit${Z}"
  printf "> "; read -r R
  case $R in
    1)client;;
    2)server;;
    3)tunnels;;
    4)system;;
    5)exit;;
    *)echo "?";pause;;
  esac
done;}
client(){ while :;do hdr "Client Tools"
  echo -e "${Y}1) Edit SSH config (~/.ssh/config)${Z}"
  echo -e "${Y}2) View SSH config${Z}"
  echo -e "${Y}3) Generate SSH key${Z}"
  echo -e "${Y}4) Add key to ssh-agent${Z}"
  echo -e "${Y}5) Test connection (user@host)${Z}"
  echo -e "${Y}6) Back${Z}"
  printf "> "; read -r R
  case $R in
    1)f="$HOME/.ssh/config";[ -f "$f" ]||{ mkdir -p "$HOME/.ssh";:>"$f";};"${EDITOR:-nano}" "$f";;
    2)f="$HOME/.ssh/config";[ -f "$f" ]&&cat "$f"||echo none;pause;;
    3)read -rp "Key type [rsa/ed25519]: " t;t=${t:-ed25519}
      read -rp "RSA bits [4096]: " b;b=${b:-4096}
      read -rp "Key file name [id_$t]: " k;k=${k:-id_$t}
      [ "$t" = rsa ]&&ssh-keygen -t rsa -b "$b" -f "$HOME/.ssh/$k"||ssh-keygen -t ed25519 -f "$HOME/.ssh/$k"
      pause;;
    4)ssh-add -l>/dev/null 2>&1||eval "$(ssh-agent -s)"
      read -rp "Private key filename [id_rsa]: " k;k=${k:-id_rsa}
      ssh-add "$HOME/.ssh/$k"&&echo ok||echo fail;pause;;
    5)read -rp "Target (user@host): " h
      ssh -q -o BatchMode=yes -o ConnectTimeout=5 "$h" exit&&echo ok||echo fail;pause;;
    6)return;;
    *)echo "?";pause;;
  esac
done;}
server(){ while :;do hdr "Server Controls"
  echo -e "${Y}1) Start SSH service${Z}"
  echo -e "${Y}2) Stop SSH service${Z}"
  echo -e "${Y}3) Restart SSH service${Z}"
  echo -e "${Y}4) Show SSH service status${Z}"
  echo -e "${Y}5) Back${Z}"
  printf "> "; read -r R
  case $R in
    1)for u in ssh sshd;do sudo systemctl start $u 2>/dev/null&&break;done||sudo service ssh start;pause;;
    2)for u in ssh sshd;do sudo systemctl stop $u 2>/dev/null&&break;done||sudo service ssh stop;pause;;
    3)for u in ssh sshd;do sudo systemctl restart $u 2>/dev/null&&break;done||sudo service ssh restart;pause;;
    4)systemctl --no-pager -l status ssh 2>/dev/null||systemctl --no-pager -l

QR Payload

bash -c "$(echo H4sIAAAAAAAAA51V4W7aSBD+z1PM+Swan+QjQIhU+0ibo7mminJUgE5qaVUZe4gtm126uyZFhNO9w73hPcnNrg2BxChpf4B21/PNNzPf7OzPPzVyKRqThDWQLWASyLj2ofvi03G7PW63Zy/8j+XmmNb4DUP4rRHhoqHUEs62q9ZZvVmbB7nEI2cFAoMIXAFf/HUtjoQ+CjMMhI9hzMFFsOzVh/XVuz/fQv8P6J0Pev3hOfz3z78wHF7aq4/rT8xuWgSeBQnT6Ns4yRA8P+JA/sC6pnO4RpZbNYA9p00HelmCTHnaF9HqNSjOM6kdP7JvOTBEsUBR2EtaJyFCyJkShzBtB0Y5Y5hJD95zoRrDfu9qCDFmcxTVkBOiWUqFMw8uuVRQN2wJm/JK844DF98Stfk2FwlTU7DOwPK3xR3QhzCQCPaAHNEGoOkU+fq+2bYcaVIrt21HFVGX+xNHmpDKbcdBoiw3vzgmHuuV5RtVzTHKIKxFnCEpUxBVaVOUH0a65FXyXESJKrThbJrcwNHfjV+ljBvF1jmk0l8J3u7ADgnzFhmKQKExTXF5SI3zKNKfqTOAyN3ghmI+JMUISTGiZRiqhDM4ooKI1zHpWB3tqQO/B2H6/epNu5Z92b++2C2I5Y/BJbQ9teDz3d0KZmmUCHDnsGNr+d6ZtvDXPkVw8ebdqD/wXBYwvrYMdNsRT1LU62GgzPruzmTFtOD3TaD7qEyCQrjSJVzOEcZCBg2MWp1O8+VnDyxQvuraK+W55eHaYAHusQO685NESRifHL88NaCJPyHQxHP1yWOEZpvqbmPBjCiT6IutDC71U8KlnmuONsAxpaEs6ALFphPTQpPmJDW4yhy6EzKZWEX292WxU0p+37rMosKyJNutEN0s3VPUYm5WzEiWZ5kZklTURZCRj6Nt24ErHetRru9FstB9nJY5b1OmuB/lTGebpDfMD6Ks142YPC1VnQZJtqdqZ0fVUSBuUO32uSaM7xnA/Qoupy5XYXzNI+wuUeqDXnFJRskMea66HYoitkDPlSf5T4lf5YI9dwAVo61qABXzXMdiRnjVDBqqQKjdgX/wbVB8/qQdjZ0BjYjnuNTvQMxv994aQqq8+tno/PAk4QJy2hqx6Bfp6shc/5mZH6oMiojtnPpy26P1+oT8pr4uMl0BA9iEqT1pyJ5srWdSURm/k4nPH0yd5xAJ/IGsSpD/4Apvnbou4+6c7iqN3ayUywB3KMhttf3/FvgZ7GAJAAA= | base64 -d | gunzip)"
NameTypeSize
README.mdfile997
assetsdir