SSH - GradedJestRisk/linux-training GitHub Wiki

Generation (ssh-keygen)

Overview:

  • generate: ssh-keygen -t rsa -b 4096 -C “[email protected]”
  • get the public key (not private): cat ~/.ssh/id_rsa.pub
  • change passphrase: ssh-keygen -p

Agent (ssh-agent)

Overview:

  • start (if not working): eval `ssh-agent`
  • list all accessible keys (.ssh) : ssh-add -l
  • add a key : ssh-add
  • remove all keys: ssh-add -D

Connection

List:

  • connect to SERVER: ssh -i <KEY_FILENAME_WITHOUT_.PUB> <SERVER>
  • expose distant port DISTANT_PORT on localhost:LOCAL_PORT: ssh -i -L <LOCAL_PORT>:localhost:<DISTANT_PORT> <KEY_FILENAME_WITHOUT_.PUB> <SERVER>
    1. Server
      1. Debug connection problems
Expose port if docker
docker run --name ssh --detach -p 22:22 -p 23:23 ssh

Start a server in debug mode on port 23

/usr/sbin/sshd -d -p 23
``` 

Try to connect
ssh -vvv [email protected] -p 23 ```
⚠️ **GitHub.com Fallback** ⚠️