DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Please enter at least three characters to search
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

Zones

Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks

Modernize your data layer. Learn how to design cloud-native database architectures to meet the evolving demands of AI and GenAI workkloads.

Secure your stack and shape the future! Help dev teams across the globe navigate their software supply chain security challenges.

Releasing software shouldn't be stressful or risky. Learn how to leverage progressive delivery techniques to ensure safer deployments.

Avoid machine learning mistakes and boost model performance! Discover key ML patterns, anti-patterns, data strategies, and more.

Related

  • Essential GitHub Enterprise Admin Commands
  • SonarQube Analysis With Ginkgo on Mac
  • Spinnaker Meets Minikube: Part 1
  • Ping – Unix/Linux Command, Beginners Introduction With Examples

Trending

  • Microsoft Azure Synapse Analytics: Scaling Hurdles and Limitations
  • Beyond ChatGPT, AI Reasoning 2.0: Engineering AI Models With Human-Like Reasoning
  • Create Your Own AI-Powered Virtual Tutor: An Easy Tutorial
  • How the Go Runtime Preempts Goroutines for Efficient Concurrency
  1. DZone
  2. Data Engineering
  3. AI/ML
  4. SSH Tutorial: Nice and Easy [Video]

SSH Tutorial: Nice and Easy [Video]

Want a fun and engaging intro to SSH, SCP, and friends? Look no further than this video tutorial for a practical crash course on SSH.

By 
Marco Behler user avatar
Marco Behler
DZone Core CORE ·
Jun. 20, 22 · Tutorial
Likes (2)
Comment
Save
Tweet
Share
6.9K Views

Join the DZone community and get the full member experience.

Join For Free

Ever looked for a practical crash course on SSH that is fun and entertaining at the same time? Then have a look at this brand-new episode of "Marco Codes: SSH Tutorial - Nice & Easy." In this video, you'll learn how to use:

  • SSH on the command line, which includes creating keypairs with various algorithms
  • SCP to copy/download files
  • SSH-agents to improve keyfile handling
  • SSH config files to properly manage your SSH target hosts
  • SSH keys to checkout repositories from GitHub 

You will also explore advanced topics like SSH agent forwarding, SSH tunneling, and using password managers for maximum comfort.  

By the end of the tutorial, there won't be many questions left when it comes to using SSH and friends.

What’s in the Video?

Even if you've been using SSH for a while, it makes sense to get a quick overview of how SSH and especially keyfiles work on a conceptual level. Therefore, we're going to start the video with a little hand-drawn diagram of how SSH is supposed to work.

Usually, you use SSH to connect from your local machine to servers. A popular point of contact is Amazon AWS to manage, for example, your EC2 hosts. That's why we'll start creating SSH keys through AWS UI, finding out what the differences are between the different encryption algorithms as well as what different formats (.pem and .ppk) are available. 

After having established your first successful SSH connection, we'll repeat the key creation exercise with SSH command-line tools like ssh-keygen, which are available on all major operating systems (Windows, Linux, MacOS). 

When you create your public/private keypairs through the command line, you'll have to copy your public keyfile onto the server, which we'll cover in the following authorized_keys file section.

Somewhat complementary to just opening up new SSH connections is the SCP tool. It lets you upload/download files and folders to/from servers via an SSH connection. We'll quickly cover how to use SCP.

Using SSH with password-encrypted keyfiles makes the most sense, as soon as you are using an SSH agent. SSH agents are again available on all major operating systems, though you'll have to jump through a couple of additional hoops on Windows to get everything up and running as expected. We'll cover all of the needed steps in the video.

Once you have SSH agents up, you can also play with SSH client config files to manage your SSH target hosts, give them nicknames, and even for more advanced scenarios like managing multiple SSH keys across multiple GitHub accounts with the help of aliases! This is a super helpful topic for anyone who's ever had to manage personal and work account SSH keys.

A video about SSH wouldn't be complete if it didn't cover advanced topics like SSH agent forwarding, as well as SSH tunnels. Agent forwarding allows remote computers to use your local keys without ever seeing them, whereas SSH tunnels allow you to connect to firewalled servers, for example, that are only available through the use of a jump host. 

Finally, if you want to squeeze some comfort out of SSH, you'll need to use it in combination with password managers, like 1Password or Keypass. They'll let you manage your SSH keys and even provide their own SSH agents, which is so useful that we're going to finish off the video with this.

Check it out and let us know what you think!  


GitHub Secure copy protocol Algorithm Command (computing) Crash (computing) Host (Unix)

Opinions expressed by DZone contributors are their own.

Related

  • Essential GitHub Enterprise Admin Commands
  • SonarQube Analysis With Ginkgo on Mac
  • Spinnaker Meets Minikube: Part 1
  • Ping – Unix/Linux Command, Beginners Introduction With Examples

Partner Resources

×

Comments
Oops! Something Went Wrong

The likes didn't load as expected. Please refresh the page and try again.

ABOUT US

  • About DZone
  • Support and feedback
  • Community research
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 100
  • Nashville, TN 37211
  • support@dzone.com

Let's be friends:

Likes
There are no likes...yet! 👀
Be the first to like this post!
It looks like you're not logged in.
Sign in to see who liked this post!