SSH:这就是您现在可以从任何地方访问网站的条件。

披露: 您的支持有助于保持网站的正常运行!我们会为此页面上推荐的某些服务收取推荐费.
安全壳


安全外壳(SSH)是一种网络通信协议,用于在本地客户端应用程序和远程服务器之间创建加密连接。 SSH使客户端和服务器可以通过公共的,不安全的网络(例如Internet)安全地进行通信.

术语SSH有时用于表示用于与远程服务器通信的应用程序。但是,SSH实际上是指通信协议本身,而不是指用于启用客户端和服务器之间通信的应用程序.

SSH应用

网站管理员和开发人员一直都在使用SSH。无论是否意识到,网站专业人员使用SSH的主要方式有两种.

  1. 使用诸如PuTTY之类的应用程序的RSH或远程外壳程序访问,可以访问远程服务器上的命令行.
  2. 许多流行的FTP客户端(包括Filezilla)都支持安全文件传输协议(即SFTP),并可以通过SSH保护的连接在远程服务器之间传输文件。.

除了RSH和SFTP之外,SSH还用于保护其他几种类型的服务器访问,包括rsync文件传输和同步,SSH上的FTP(FISH),安全副本(SCP)以及对以下设备的完整虚拟专用网(VPN)访问使用OpenSSH的服务器.

SSH的历史

SSH最早是由TatuYlönen于1995年开发的,它直接针对针对赫尔辛基工业大学的密码嗅探攻击,Ylönen是该学院的成员。在SSH发行之前,由于使用了诸如rlogin,RSH,Telnet和rexec之类的协议,客户端应用程序和远程服务器之间可以通过不安全的网络进行通信。但是,所有这些协议都以明文形式传输信息,包括登录凭据。这意味着具有适当技术能力和访问网络权限的某人可能潜在地拦截消息并获得以纯文本格式访问服务器登录凭据的权限。.

SSH立刻受到欢迎。第一个版本SSH-1于1995年7月作为免费软件发布,在不到六个月的时间内,遍布50个国家/地区的20,000名用户使用了该软件。到2000年,活动的SSH用户数量已激增至200万.

Ylönen于1995年12月成立SSH Communications Security,以推销并进一步开发该协议。 SSH的原始版本使用各种免费组件构建并作为开源软件发布,但随着时间的流逝,SSH变得越来越专有。在1999年,一组开发人员使用最新的SSH开源版本创建了一个免费的SSH开源版本。这个免费版本演变为今天称为OpenSSH的版本,并已集成到Unix,Linux和Windows操作系统中.

SSH如何工作?

要通过由SSH保护的连接网络进行通信,需要三个不同的层协同工作:

  • 传输层:此层处理客户端应用程序和远程服务器之间的加密密钥交换,并在会话期间管理SSH连接.
  • 用户认证层:此层允许用户使用多种不同的身份验证方法向服务器进行身份验证。最常见的方法是用户密码,但是根据所使用的客户端应用程序,也可以使用无密码和一次性密码验证系统.
  • 连接层:这是SSH客户端界面运行的层,包括Shell访问应用程序(例如PuTTY),安全FTP客户端(例如Filezilla)和所有其他SSH客户端.

SSH的三部分架构是使协议如此流行的部分原因。由于采用了分离设计,因此可以通过设计客户端应用程序以通过SSH保护的连接来完成特定任务来将其用于许多不同目的.

资源资源

SSH资源比比皆是。如果您想学习如何使用SSH更好地管理远程服务器,请参考以下优秀资源.

SSH:Barrett和Silverman撰写的《 Secure Shell,权威指南》(The Definitive Guide,2001)是一本非常出色的O’Reilly书籍,如果有过时的话。但是,它可以在线免费获得,第一章对SSH进行了很好的技术介绍。如果您是SSH的新手,并且想更好地了解此通信协议的技术基础,请花几分钟查看本文的第一章。.

SSH:Jonathan Cutrell撰写的教程是什么和如何,可从Envato Tuts +免费获得。本教程分步介绍了在本地系统和远程服务器上设置SSH,配置无密码登录到服务器的过程,并演示了如何将代码推送到远程服务器上的git存储库。如果您是要在私有远程服务器上托管git存储库的开发人员,这是一个特别好的资源.

Muhammed Torkey编写的Complete Secure Shell Course是Udemy提供的在线课程。该课程介绍安全外壳,说明其工作原理,涵盖SSH安装和配置,并介绍各种SSH应用程序。完成本课程后,您将可以使用SSH作为VPN使用远程终端访问,文件传输,还知道如何使SSH尽可能安全.

SSH教程— LearnCode.academy提供的使用SSH进行基本服务器管理,是使用SSH管理远程服务器的快速且简短的概述。此YouTube视频在不​​到10分钟的时间内演示了如何使用SSH进行Shell访问,使用rsync进行文件传输以及无密码登录.

SSH Linux教程是一份详细的教程,其历史可以追溯到1999年,但自那时以来已多次更新。它涵盖了无密码登录和各种SSH应用程序。它适用于基于Linux和Unix的系统,包括Mac OSX。但是,如果您使用的是Windows计算机,请查看Windows的SSH教程.

SSH客户端

正如我们所讨论的,SSH不是程序,而是协议。但这通常被认为是。最终,它是一种程序,允许用户登录到其他系统,并执行他们坐在其他计算机控制台上可以执行的所有正常操作.

选择,选择

因此,真正的问题是您将使用什么SSH客户端应用程序.

在Unix机器上,通常会找到一个名为ssh的程序。大多数时候,这实际上是OpenSSH。我们将在下面讨论主要客户.

但是在本文档中,我们将重点讨论PuTTY。这是因为它相对于其他系统具有许多优点。而且,它在大多数操作系统上都可用.

SSH用途

正如我们所讨论的,SSH主要用于允许人们以安全的方式在远程计算机上使用命令外壳。这样,它显然是Telnet和rlogin的替代品.

实际上,在大多数Unix系统上,telnet和rlogin命令都只是与ssh程序的链接。对于普通计算,没有人再使用Telnet和rlogin.

SSH还有许多其他高级方式。例如,它可以用于创建虚拟专用网(VPN),该虚拟专用网允许用户通过在不同机器之间创建加密隧道来在诸如Internet之类的公用网络之上建立专用网络。.

但是,除了用作终端之外,SSH的主要使用方式是用于传输文件。安全FTP(SFTP)使用SSH将传输的信息保密.

油灰

PuTTY是最早实现SSH的应用程序之一。它是一个功能齐全的应用程序,用于与其他系统进行通信并传输文件-所有操作均已安全完成。基本程序作为单个文件分发。您可以简单地下载PuTTY并从命令行运行它。但以其完整的形式,它由几个部分组成:

  • 具有连接管理器(PuTTY)的SSH客户端;
  • 安全FTP(PSFTP);
  • 安全副本或SCP(PSCP);
  • 用于存储PuTTY其他部分的私钥的身份验证代理(选美);
  • RSA和DSA密钥的生成器,类似于OpenSSH中的ssh-add(PuTTYgen).

PuTTY最初是为Microsoft Windows开发的。多年来,它已被移植到许多Unix系统和Mac OSX。在旧系统(如经典Mac OS)上的开发仍在继续。因此,很高兴熟悉它,因为它几乎可以在您可能使用的任何系统上使用.

PuTTY入门

PuTTY非常易于使用,您可以下载并开始使用它。查看PuTTY下载页面。但是有各种资源可以帮助您:

  • PuTTY常见问题解答:该项目的FAQ列表内容广泛,可以回答您的大多数问题
  • 腻子教程:SiteGround的简单教程,可帮助您在Windows机器上启动并运行.
  • 在PuTTY中使用SSH(Windows):基本介绍,向您展示如何下载和安装PuTTY,并开始使用.
  • 下载和配置腻子:Michael Holtz Jr的非常有用的视频,它将在您的计算机上安装和配置PuTTY。它还为使用该程序提供了一些不错的技巧.

腻子替代品

有许多替代腻子的方法。特别是,OpenSSH是Unix计算机上的标准SSH系统。我们将替代方案分为免费版和付费版。通常,付费版本是为企业用户设计的-但并非总是如此.

免费客户

  • ConnectBot:Android的SSH客户端.
  • Dropbear:基于Unix操作系统的SSH客户端和服务器.
  • lsh:GNU工程的SSH客户端和服务器.
  • OpenSSH:OpenBSD安全外壳-Unix操作系统上的标准.
  • PACManager:用于Linux的SSH / FTP / Telnet会话管理工具.
  • Tera Term:基于Windows的终端仿真器.

商业客户

尽管所有这些程序都需要花钱,但其中许多程序都有30天的试用版,您可以下载这些版本.

  • AbsoluteTelnet:Windows应用程序,它将SSH和SFTP客户端与各种终端仿真器结合在一起.
  • Bitvise:Windows SSH服务器和客户端的组合 .
  • 专用Shell:功能齐全的Windows SSH客户端,包括SFTP等.
  • PenguiNet:基于Windows的选项卡式SSH客户端,可一次维护多个连接.
  • 反思:基于SSH的终端仿真器.
  • SecureCRT:适用于Windows,Mac和Linux的SSH客户端.
  • Tectia SSH:发明SSH的公司的企业SSH系统.
  • TN3270 Plus:包含SSH安全性的Windows telnet模拟器.
  • Token2Shell:基于Windows的SSH客户端,具有无缝远程复制等额外功能.
  • Xshell:基于Unix的SSH终端模拟器.
  • ZOC终端:适用于Windows和Mac的SSH终端.

非终端SSH应用程序

SSH在许多其他应用程序中使用。它尤其与FTP和其他文件传输功能相关。但是它也用于更高级的功能,例如远程桌面和保护X-Windows系统.

  • CRAX Commander:包含SSH和SFTP的专有Mac文件管理器.
  • Cryptzone MindTerm:一个基于Java的库,用于将SSH包含到您自己的应用程序中。他们还提供独立程序。它是免费的,仅供个人和有限商业用途.
  • FileZilla:一个免费的FTP应用程序(客户端和服务器),支持SFTP和FTPS。如果您进行了大量的云计算,则可能要签出FileZilla Pro,因为它可以访问Amazon S3,Google Drive,Microsoft OneDrive和许多其他资源.
  • MobaTerm:内置SSH的增强型Xterm应用程序。 MobaTek提供免费的家庭版和价格合理的专业版.
  • ProxyCap:商业应用程序,用于控制您对Windows和Mac计算机上具有本地SSH支持的代理服务器的使用.
  • SFTPPlus:商业企业文件传输系统,包括通过SSH版本2的SFTP和SCP.
  • SmartFTP:基于Windows的商业程序,主要专注于文件传输,但也包括使用SSH进行终端仿真.
  • CodePlex终端:商业远程桌面客户端,功能还很多.
  • WinSCP:基于PuTTY的Windows的基于SSH的免费FTP.

客户总结

对于个人而言,PuTTY是一个不错的选择,因为您可能正在使用的几乎任何计算机上都可以使用PuTTY。但是,如果您有特殊需要,可以使用很多选项。无论如何,您都会知道您可以在私密环境中工作.

摘要

SSH是一种灵活的通信协议,可用于在本地客户端应用程序和远程服务器之间创建安全的通信隧道。熟悉SSH之后,您将可以使用各种SSH客户端应用程序安全地在远程服务器上工作,并获得与物理访问服务器时相同的控制级别.

进一步阅读和资源

我们有更多与Internet和Web开发相关的指南,教程和信息图:

  • Web标准简介:本文将帮助您开始创建可在任何地方使用的页面和应用程序.
  • 网站管理员工具的终极清单A-Z:找到使网站管理变得容易的所有工具.

网页寄存终极指南

如果要在Internet上传输文件,则可能会使用一台或多台Web服务器。查阅我们的《虚拟主机终极指南》。它将解释您做出明智选择所需了解的所有内容.

网页寄存终极指南

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map