This project is a clone of SSH, created using the C programming language. The goal is to use processes and subprocesses to open a shell for users and transfer data using both symmetric and asymmetric cryptography.
The server uses the fork command to connect user sockets to a process. After that, it opens a new shell to receive user commands and execute them.
The client takes an input like ssh root@127.0.0.1
, which includes the address and username. Then, the user uses a password or a private key to encrypt their input data.
Symmetric: Uses the input password with the AES algorithm. Asymmetric: Uses public and private keys generated by ssh-keygen and the RSA algorithm.