Protocols

Protocols are a set of rules or standards that define the communication between devices on a network.

Introduction

A process is a running program at a particular instant of time.

The process refers to an opening of a Web Browser or any other visible program or action for the user, but this term also includes programs that are running in the background waiting to be called by the system. Those programs can be services that offer remote connection, sending of mail, or translation of IPs into readable URLs.

These services are identified by a number of ports defined by the Assigned Numbers RFC.

The configuration of services is in /etc/services and includes the name, the port that defines the service, and which transport protocol is used (UDP or TCP) for each one.

The ssh Protocol

This protocol enables secure connection to the SSH server on a remote machine.

By default, in CentOS 7, the SSH package comes installed, but if not, run:

yum install openssh openssh-server openssh-clients openssl-libs

It installs the openssh package to enable SSH as a server and as a client.

If you need additional information about yum commands, you can visit this link.

The default configuration file and settings for the SSHD daemon is in /etc/ssh/sshd_config.

cp /etc/ssh/sshd_config /etc/ssh/sshd_config.ori

This creates a copy of the original configuration file in order to prevent damage or mistakes during a custom configuration.

Then, you can customize the configuration in the /etc/ssh/ssh_config file with these options:

Port 22
  PermitRootLogin without-password
  PermitRootLogin yes
  PasswordAuthentication yes
  ForwardAgent yes
  ForwardX11 yes

Furthermore, to have the ability to run the protocol with the name of the servers such as ssh server_name, create a file ~/.ssh/config, and customize it with:

Host shortcut_name
HostName 0.1.2.3
Port 22
User x0y
ServerAliveInterval 120
IdentityFile ~/.ssh/my_key.pem

Then, you will be able to enter the server called shortcut_name with SSH by using:

ssh shortcut_name

Once you make the configuration changes, you can save and close the file. For the changes to take effect, you should restart the SSH daemon.

systemctl restart sshd.service

This command is used in case the SSHD service is enabled. To check the current status of the service, read more about the status of a service.

To secure the transmission of information, SSH employs different types of data manipulation techniques that include forms of asymmetrical encryption such as an SSH key.

ssh-keygen

Press Enter to accept the default location and filename which is ~/.ssh/id_rsa. Then press Enter, then Enter again to not set a passphrase when prompted.

Make sure the SSH key was successfully created by checking the encrypted content at ~/.ssh/id_rsa.pub.

This file must have the permission 600. To check it run ls -AhlF ~/.ssh.

Finally, to copy the SSH key to a server, run ssh-copy-id -i ~/.ssh/id_rsa.pub user@server

The scp Command

This protocol allows files to be copied to, from, or between different hosts. It uses SSH for data transfer and provides the same authentication and same level of security as SSH.

scp x0y@remotehost.ornl.gov:remote_file.txt /some/local/directory
  scp local_file.txt x0y@remotehost.ornl.gov:/some/remote/directory
  scp -r local_directory x0y@remotehost.ornl:/some/remote/directory/remote_directory
  scp x0y@rh1.ornl.gov:/some/remote/directory/fr1.txt x0y@rh2.ornl.gov:/some/remote/directory/
  scp one_file.txt another_file.txt x0y@remotehost.ornl.gov: