This lesson is still being designed and assembled (Pre-Alpha version)

Introduction to SSH

Key Points

Introduction
  • asymmetric cryptography has two keys, a private and a public key.

  • it can be used to establish the identity of the owner of the private key.

  • the private key should be kept as safe as possible.

Basics
  • simple connection to a server is just done by ssh username@servername

  • scp can be used to copy files from and to remote computers

  • ssh uses host keys to ensure the identity of the server you connect to

Nested SSH Connections (Optional)
  • You can jump between hosts by executing ssh within a ssh connection

The config file!
  • SSH configuration file is in .ssh/config.

  • The configuration file allows us to automate and configure ssh.

  • We can define short names to connect to servers.

  • We can automate jumping between hosts.

  • We can disable a config file for debugging.

Key based authentication!
  • ssh-keygen can be used to create private/public key pairs for authentication

  • ssh-copy-id can be used to copy the public key to the server to enable login via the private key

  • which keys to use for which server can be configured in the configuration file

  • Agent forwarding can be used to make your local private keys available on the server you connect.

  • ssh-add allows you to add, list or remove identities from the agent

Kerberos-based login
  • To be added…

Port forwarding
  • each network connection consists of a host and a port number

  • port forwarding allows to connect to other services via ssh

  • ssh -L localport:remotehost:remoteport server will forward all connections to localport on the local machine to whatever is called remotehost at port remoteport on server

  • this allows to open jupyter notebooks on kekcc or other computing centers

Additional tips & tricks
  • There’s a lot to be discovered!