Difference between revisions of "SSH remote"

From ATI public wiki
Jump to: navigation, search
 
(12 intermediate revisions by the same user not shown)
Line 2: Line 2:
  
 
==Where to start==
 
==Where to start==
 
 
Baby steps
 
Baby steps
  
==Context of Terms==
+
==Context of Terminology==
 
+
<gallery mode=traditional widths=450px heights=150px>
 
+
File:local-remote.png|Simple connection
[[File:local-gateway-remote.png|400px]]
+
File:local-gateway-remote.png|Complex, multi-hop connection
 
+
</gallery>
* local - local computer, computing device or computing system the user is initiating connection or is connecting from
+
===Essential Terms===
* remote - remote computer, computing device or computing system the user is connecting to
+
* '''local''' - local computer, computing device or computing system the user is initiating connection or is connecting from
* gateway - intermediary computer, computing device or computing system the user is using to connect from local system to remote system
+
* '''remote''' - remote computer, computing device or computing system the user is connecting to
 
+
* '''gateway''' - intermediary computer, computing device or computing system the user is using to connect from local system to remote system
 
+
* client - software client (program) the user is using on local system to connect to remote system
+
* server - software server (service, program) the user is connecting to on remote system
+
  
  
 +
* '''client''' - software client (program) the user is using on local system to connect to remote system
 +
* '''server''' - software server (service, program) the user is connecting to on remote system
 +
===More Terms===
 +
* '''localhost''' - networking terminology where a computer system refers to itself with it
 +
*: '''local''' host != ''localhost''  :: for '''local''' host ''localhost'' means '''local''' host, for '''remote''' host ''localhost'' means '''remote''' host
 
==Secure Shell==
 
==Secure Shell==
  
 
===SSH? Wait, Secure Shell??===
 
===SSH? Wait, Secure Shell??===
Yes, the ubiquitous three-letter acronym SSH means Secure Shell, the computer program one can use to connect to remote host command line securely.
+
Yes, the ubiquitous three-letter acronym SSH means Secure Shell, the computer program one can use to securely connect to a remote host command line.
  
Secure Shell comes in variety of looks and flavours, from simple command line utility to bells'n'whistles packed graphical user interface programs.
+
Secure Shell comes in a variety of looks and flavours, from a simple command line utility to bells'n'whistles packed graphical user interface.
  
 
To list a few:
 
To list a few:
Line 36: Line 37:
 
*
 
*
  
We'll be getting in touch with 3 of the above: native Linux CLU and Cygwin CLU for operating at command line interface (CLI) and Bitvise SSH client for working under Windows when there is no Cygwin.
+
We'll be getting in touch with 3 of the above: native Linux CLU and Cygwin CLU for operating at a command line interface (CLI) and Bitvise SSH client for working under Windows when there is no Cygwin available.
 +
===Password or Keys?===
 +
To access remote computer system one usually has to authenticate itself.
 +
 
 +
Authentication methods are various:
 +
* the simplest where one provides an username and a password to the remote system
 +
* with SSH keys, so called public key authentication
 +
* with Kerberos/GSSAPI
 +
* more complex with security device(s), in example a smartcard or SecurID device
 +
 
 +
Depending on the remote server configuration, one or more of the above is required. Remote server may for example require both password and keys for authentication. Or it may disallow password and only allow keys.
 +
===I have username and password but where do I get keys?===
 +
Easy. You make them.
 +
 
 +
In this example We will use Cygwin command line interface running on Windows host.
 +
<div style="clear: both"></div>
 +
[[File:cygwin_window_empty.png|400px]]
 +
<div style="clear: both"></div>
 +
and then
  
 
===Setting up passwordless access to remote host===
 
===Setting up passwordless access to remote host===
  
 
==Remote desktop client==
 
==Remote desktop client==
 +
 +
===VNC===
 +
 +
===RDP===
  
 
==Is host localhost local or remote, after or before gateway (and where do ports fit in)?==
 
==Is host localhost local or remote, after or before gateway (and where do ports fit in)?==
Depends on point of view
+
Depends entirely on the point of view.

Latest revision as of 16:41, 12 September 2019

Where to start

Baby steps

Context of Terminology

Essential Terms

  • local - local computer, computing device or computing system the user is initiating connection or is connecting from
  • remote - remote computer, computing device or computing system the user is connecting to
  • gateway - intermediary computer, computing device or computing system the user is using to connect from local system to remote system


  • client - software client (program) the user is using on local system to connect to remote system
  • server - software server (service, program) the user is connecting to on remote system

More Terms

  • localhost - networking terminology where a computer system refers to itself with it
    local host != localhost  :: for local host localhost means local host, for remote host localhost means remote host

Secure Shell

SSH? Wait, Secure Shell??

Yes, the ubiquitous three-letter acronym SSH means Secure Shell, the computer program one can use to securely connect to a remote host command line.

Secure Shell comes in a variety of looks and flavours, from a simple command line utility to bells'n'whistles packed graphical user interface.

To list a few:

  • OpenSSH SSH client, the native Linux command line utility (CLU) OpenSSH
  • Cygwin SSH client, the same as above but compiled for Windows and distributed as Cygwin subpackage Cygwin
  • SSH Secure Shell, the ancient original SSH, now replaced by Tectia Tectia
  • Putty, SSH functionality packaged into GUI for Windows with less bells and whistles Putty
  • Bitvise SSH client, SSH that comes with GUI for Windows Bitvise
  • Termius, iOS applet for iPhone & iPad

We'll be getting in touch with 3 of the above: native Linux CLU and Cygwin CLU for operating at a command line interface (CLI) and Bitvise SSH client for working under Windows when there is no Cygwin available.

Password or Keys?

To access remote computer system one usually has to authenticate itself.

Authentication methods are various:

  • the simplest where one provides an username and a password to the remote system
  • with SSH keys, so called public key authentication
  • with Kerberos/GSSAPI
  • more complex with security device(s), in example a smartcard or SecurID device

Depending on the remote server configuration, one or more of the above is required. Remote server may for example require both password and keys for authentication. Or it may disallow password and only allow keys.

I have username and password but where do I get keys?

Easy. You make them.

In this example We will use Cygwin command line interface running on Windows host.

Cygwin window empty.png

and then

Setting up passwordless access to remote host

Remote desktop client

VNC

RDP

Is host localhost local or remote, after or before gateway (and where do ports fit in)?

Depends entirely on the point of view.