Communication Protocols
Protocols are a set of rules or standards that define the communication between devices on a network.
Generalities of a Service
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
ssh ProtocolThis protocol enables secure connection to the SSH server on a remote machine.
Installation of the package
By default, in CentOS 7, the SSH package comes installed, but if not, please run:
yum install openssh openssh-server openssh-clients openssl-libsIt 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
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.oriThis 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_configfile with these options:Port 22 PermitRootLogin without-password PermitRootLogin yes PasswordAuthentication yes ForwardAgent yes ForwardX11 yesFurthermore, 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 user ServerAliveInterval 120 IdentityFile ~/.ssh/my_key.pemThen, you will be able to enter the server called
shortcut_namewith SSH by using:ssh shortcut_nameRestart the SSHD service
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.serviceThis command is used in case the SSHD service is
enabled. To check the current status of the service, please read more about the status of a service.Generate an SSH Key
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-keygenPress
Enterto accept the default location and filename which is~/.ssh/id_rsa. Then pressEnter, thenEnteragain 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 please run
ls -AhlF ~/.ssh.Finally, to copy the SSH key to a server, please run
ssh-copy-id -i ~/.ssh/id_rsa.pub user@server
The scp Protocol
scp ProtocolThis 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.
Copy the file
remote_file.txtfrom a remote host to the local host
scp user@remotehost:remote_file.txt /some/local/directoryCopy the file
local_file.txtfrom the local host to a remote host directoryscp local_file.txt user@remotehost:/some/remote/directoryCopy the directory
local_directoryfrom the local host to a remote host's directoryremote_directoryscp -r local_directory user@remotehost:/some/remote/directory/remote_directoryCopy the file
fr1.txtfrom remote hostrh1to remote hostrh2scp user@rh1:/some/remote/directory/fr1.txt user@rh2:/some/remote/directory/Copy multiple files from a local directory to a remote host home directory
scp one_file.txt another_file.txt user@remotehost:
The nfs Protocol
nfs ProtocolTo set up NFS mounts, we will need at least two Linux/Unix machines. Here we will be using two servers.
NFS Server: server.org with IP-192.XXX.0.100
NFS Client: client.org with IP-192.XXX.0.101
NFS Server
Configure export directory
For sharing a directory with NFS, we need to make an entry in the
/etc/exportsconfiguration file. Let's create a new directory namednfssharein the/partition of the server.Then, we need to make an entry in
/etc/exportsand restart the services to make our directory shareable in the network.mkdir /nfsshare vi /etc/exports /nfsshare 192.XXX.0.101(rw,sync,no_root_squash) service autofs restartIt displays a directory in the
/partition named "nfsshare" which is being shared with client IP "192.XXX.0.101" with read and write privileges. You can also use the hostname of a server.
NFS Client
Mount a shared directory on an NSF client
To mount a directory in our server to access it locally, we need to find out what shares are available on the remote server or NFS Server with
showmount.showmount -e 192.XXX.0.100 Export list for 192.XXX.0.100: /nfsshare 192.XXX.0.101This command shows that a directory named
nfsshareis available at "192.XXX.0.100" to share with your server.To mount a shared NFS directory permanently, we can use following
mountcommand:vi /etc/fstab 192.XXX.0.100:/nfsshare /mnt nfs defaults 0 0 service autofs restartWith
vi /etc/fstab, we are setting theIP:name_directoryto be mounted, and it will be mounted on/mnt. You can verify it withmount | grep nfs.
Last updated