SSH (Secure Shell) is a protocol used to securely connect to remote servers, allowing users to execute commands and manage systems remotely. It is a powerful tool for system administrators and developers alike. In this guide, we’ll introduce SSH, show how to use it, and explore the top 10 most useful SSH commands.
Introduction to SSH
SSH ensures secure communication by encrypting data between the client and server. To establish an SSH connection, you need an SSH client (like OpenSSH) and login credentials for the remote server. Here’s how you can connect:
ssh username@remote-server-ip
Replace username
with your server’s username and remote-server-ip
with the IP address of the remote machine.
Now, let’s dive into the top 10 most useful SSH commands:
1. pwd (Print Working Directory)
pwd
This command displays the current directory you’re working in. It’s especially useful to confirm your location in the server’s directory structure.
2. ls (List Directory Contents)
ls
The ls
command lists files and folders in the current directory. Add flags like ls -l
for detailed information or ls -a
to show hidden files.
3. cd (Change Directory)
cd /path/to/directory
The cd
command changes your working directory to the specified path. Use cd ..
to move up one level or cd ~
to return to your home directory.
4. mkdir (Make Directory)
mkdir directory_name
Create a new directory with the specified name. It’s useful for organizing files on the server.
5. rm (Remove Files/Directories)
rm file_name
This command deletes files. Use rm -r directory_name
to remove directories and their contents, but be cautious as this is irreversible.
6. cp (Copy Files/Directories)
cp source_file destination_file
The cp
command copies files or directories. Use cp -r source_directory destination_directory
to copy entire directories.
7. mv (Move/Rename Files)
mv source_file destination_file
This command moves files to a new location or renames them. For instance, mv old_name new_name
renames a file.
8. cat (View File Contents)
cat file_name
Use cat
to display the contents of a file directly in the terminal. It’s ideal for quickly reviewing configuration or log files.
9. top (Monitor System Resources)
top
The top
command provides a real-time view of system processes, including CPU and memory usage. It’s crucial for diagnosing server performance issues.
10. chmod (Change File Permissions)
chmod 755 file_name
This command modifies file permissions. For example, chmod 755
grants the owner read, write, and execute permissions, while others get read and execute permissions.
Wrapping Up
SSH commands are essential tools for managing remote servers efficiently. From navigating directories with cd
to monitoring resources with top
, mastering these commands will streamline your server management tasks. Start practicing today to boost your productivity and confidence in managing systems securely.