SSH: Difference between revisions

From XPUB & Lens-Based wiki
No edit summary
No edit summary
Line 32: Line 32:
===create ssh configuration file ~/.ssh/config/===
===create ssh configuration file ~/.ssh/config/===
Create the file:
Create the file:
  touch ~/.ssh/config
  nano ~/.ssh/config
 
Open the file in your favorite text editor


insert:
insert:
Line 41: Line 39:
User usename // ssh user
User usename // ssh user
Hostname 192.168.10.20 // hostname of the server
Hostname 192.168.10.20 // hostname of the server
Port 22
Port 22 // this is the default ssh port
Identityfile ~/.ssh/id_rsa // change and make sure this is the path to the location of your keys
Identityfile ~/.ssh/id_rsa // change and make sure this is the path to the location of your keys
Serveraliveinterval 30
Serveraliveinterval 30

Revision as of 14:49, 16 June 2023

Secure Shell

An encrypted protocol for a remote shell login.

See wikipedia:Secure shell

Generating ssh key pair

  1. REDIRECT SSH keys


ssh configuration file

The ssh configuration file makes it a lot simpler to ssh scp or sshfs.

It is especially convenient when you have keys for different servers. It helps you to keep them organized and to ssh into servers with easy to remember shortcuts.


Rather than typing

scp myfile username@host:/path/to/copy/file/to

We can simply do with

scp myfile hostname:/path/to/copy/file/to
 

location of the .ssh directory

On Linux based distros: /home/<your username>/.ssh

On Mac: Users/<your username>/.ssh on MacOS.

create ssh configuration file ~/.ssh/config/

Create the file:

nano ~/.ssh/config

insert:

Host hostname // name for the shortcut you use to ssh into the server
User usename // ssh user
Hostname 192.168.10.20 // hostname of the server
Port 22 // this is the default ssh port
Identityfile ~/.ssh/id_rsa // change and make sure this is the path to the location of your keys
Serveraliveinterval 30

Now you can use the short cut to ssh/scp/sshfs to that and any other host in in .ssh/config

using only

ssh username@hostname

or even

ssh hostname


SSFS

SSHFS (SSH Filesystem) is a filesystem client for mounting remote directories on your machine, using an SSH connection.

By using it you can access, read, edit files from a remote machine on your local machine, as long as you have an account in the remote machine.

Install

on Debian/Ubuntu

sudo apt update
sudo apt install sshfs

on mac

Use homebrew:

brew cask install osxfuse
brew install sshfs

If homebrew is not installed, run the installation command:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Mounting the Remote File System with sshfs

sshfs command essential parameters:

sshfs user@host:remote_directory local_mount_directory  

How to mount:

Create a directory in your local machine, to be use as a mount point

mkdir ~/remote

Mount host remote directory onto the ~/remote directory

ssh user@host:/full/path/to/remote/dir ~/remote

That's it

How to unmount

To unmount the remote dir from the local directory we use the umount NOT unmount, BUT umount

umount ~/remote