Skip to content

amirhnajafiz/cssh

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CSSH

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.

Server

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.

Client

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.

Cryptography

Symmetric: Uses the input password with the AES algorithm. Asymmetric: Uses public and private keys generated by ssh-keygen and the RSA algorithm.